Я бы хотел изменить последовательность инициализации встроенного драйвера.Я использую файл дерева устройств (DTS).Согласно моему опыту, я мог контролировать последовательность загрузки встроенного драйвера с помощью функций initcall, как показано ниже, когда я не использовал файл dts.
pure_initcall (fn), device_initcall (fn), late_initcall (fn) ...
Мой встроенный драйвер теперь работает с файлом dts.Это мой оригинальный код.
static struct platform_driver board_info_driver = {
.probe = board_info_probe,
.remove = board_info_remove,
.driver = {
.name = "boardinfo",
.of_match_table = of_board_info_match,
},
};
module_platform_driver (board_info_driver);
Чтобы изменить последовательность инициализации вышеприведенного кода, я пробовал его с различными функциями initcall.Но время загрузки драйверов не сильно меняется.
static int __init board_info_init(void)
{
return platform_driver_register(&board_info_driver);
}
static void __init board_info_exit(void)
{
platform_driver_unregister(&board_info_driver);
}
//pure_initcall(board_info_init);
//device_initcall(board_info_init);
late_initicall(board_info_init);
Не могли бы вы дать совет, что я что-то пропустил?