@whycanservice 谢谢回复。
我已经在clk驱动中将module_platform_driver(clk_driver);
改成了
static int __init clk_init(void)
{
return platform_driver_register(&clk_driver);
}
arch_initcall(clk_init);//arch_initcall 等级为3
我通过kernel log 看,clk_driver 执行probe的时间确实有提前,但是有的使用module_init的驱动还是会在clk_driver之前执行probe。这让我感觉很疑惑。
我想过将驱动编译为module,但是clk涉及到很多功能,像是gpio,lcd,audio等,如果将上述的驱动都使用module,那就涉及到这些部分的驱动可能都需要编译成module,这样做是否会很奇怪。