dts中的平台设备platform_device在哪里注册的
例如:
1、dispc相关的驱动代码,注册了一个platform_driver,那么在注册platform_driver之前得先注册platform_device吧?
#ifdef CONFIG_OF
static const struct of_device_id sprdfb_dt_ids[] = {
{ .compatible = "sprd,sprdfb", },
{}
};
#endif
static struct platform_driver sprdfb_driver = {
.probe = sprdfb_probe,
#ifndef CONFIG_HAS_EARLYSUSPEND
.suspend = sprdfb_suspend,
.resume = sprdfb_resume,
#endif
.remove = sprdfb_remove,
.shutdown = sprdfb_shutdown,
.driver = {
.name = "sprd_fb",
.owner = THIS_MODULE,
#ifdef CONFIG_OF
.of_match_table = of_match_ptr(sprdfb_dt_ids),
#endif
},
};
static int __init sprdfb_init(void)
{
return platform_driver_register(&sprdfb_driver);
}
static void __exit sprdfb_exit(void)
{
return platform_driver_unregister(&sprdfb_driver);
}
module_init(sprdfb_init);
module_exit(sprdfb_exit);
2、搜索整个工程,仅仅在项目的dts文件中,找到”sprd,sprdfb“
fb0: fb@20800000 {
compatible = "sprd,sprdfb";
reg = <0x20800000 0x1000>,<0x21800000 0x1000>;
interrupts = <0 46 0x0>,<0 48 0x0>, <0 49 0x0>, <0 47 0x0>;
clock-names = "dispc_clk_parent", "dispc_dbi_clk_parent", "dispc_dpi_clk_parent", "dispc_emc_clk_parent", "dispc_clk", "dispc_dbi_clk", "dispc_dpi_clk", "dispc_emc_clk", "fb_spi_clock", "fb_spi_clock_parent";
clocks = <&clk_256m>, <&clk_256m>, <&clk_384m>, <&clk_aon_apb>, <&clk_dispc0>, <&clk_dispc0_dbi>, <&clk_dispc0_dpi>, <&clk_disp_emc>, <&clk_spi2>, <&ext_26m>;
clock-src = <256000000 256000000 384000000>;
dpi_clk_div = <7>;
sprd,fb_use_reservemem;
sprd,fb_mem = <0x9F86D000 0x465000>; /* 480*800*/
};
现在,我就想知道,系统是怎样注册“sprd,sprdfb”这个platform_device的???
页:
[1]