Я поднимаю графику во встроенной системе linux. Я включил простой драйвер панели в Linux Ядро. Я вижу, что вызывается __init panel_simple_init, а также успешно работает platform_driver_register. Но функция зонда "panel_simple_platform_probe" не вызывается.
Ниже приведен фрагмент кода драйверов / gpu / drm / panel / panel-simple. c
static struct platform_driver panel_simple_platform_driver = {
.driver = {
.name = "panel-simple",
.of_match_table = platform_of_match,
},
.probe = panel_simple_platform_probe,
.remove = panel_simple_platform_remove,
.shutdown = panel_simple_platform_shutdown,
};
static int panel_simple_platform_probe(struct platform_device *pdev)
{
const struct of_device_id *id;
printk(KERN_ALERT "%s %d\n",__FUNCTION__,__LINE__);
id = of_match_node(platform_of_match, pdev->dev.of_node);
if (!id)
return -ENODEV;
return panel_simple_probe(&pdev->dev, id->data);
}
static int __init panel_simple_init(void)
{
int err;
printk(KERN_ALERT "%s %d\n",__FUNCTION__,__LINE__);
err = platform_driver_register(&panel_simple_platform_driver);
if (err < 0){
printk(KERN_ALERT "%s %d\n",__FUNCTION__,__LINE__);
return err;
}
if (IS_ENABLED(CONFIG_DRM_MIPI_DSI)) {
err = mipi_dsi_driver_register(&panel_simple_dsi_driver);
if (err < 0){
printk(KERN_ALERT "%s %d\n",__FUNCTION__,__LINE__);
return err;
}
}
printk(KERN_ALERT "%s %d\n",__FUNCTION__,__LINE__);
return 0;
}
Может кто-нибудь сообщить мне, почему зонд не вызывается?