文档主要讲解在 iMX6Q/D/PLUS 开发板的设备树内核(4.1.15)源码中,设备树注册驱动和非设备树的类似。 1 注册驱动源码分析 设备树的内核驱动中,platform_driver 结构中增加了“of_match_table”,在驱动源码中需要增加对应变量,驱动注册部分变化的部分如下。 以上代码中,platform_driver_register 调用 register_driver,如果设备名称和驱动名称相同,即可进入 probe。 驱动例程中 DRIVER_NAME 为“test_dev_name”。 在“iTOP-iMX6-设备树内核-注册设备例程”文档中,在设备树中我们已经注册了“test_dev_name”设备。 2 注册驱动测试 将驱动编译为 ko 文件,insmod 加载之后应该打印“register_init”和“register_probe init”;rmmod 卸载之后打印“register_exit”和“Goodbye, curel world, remove”。 如下图所示,使用命令“ insmod iTOP_IMX6_registerdriver.ko”加载驱动,使用命令 “rmmod iTOP_IMX6_registerdriver”卸载驱动。 迅为iMX6Q开发板软硬件全新升级 [size=10.5000pt]1. 底板由V2.3升级为V2.6版本,增加SATA电源接口,工业级千兆以太网芯片。 [size=10.5000pt]2. 新近推出i.MX6增强版本核心板(PLUS) [size=10.5000pt]3. 提供三种操作系统-新增设备树相关例程 更完备的用户手册( Android4.4/6.0系统 Linux - Qt5.7系统 Ubuntu16.04系统)
|