【发布时间】:2015-08-26 11:12:51
【问题描述】:
我目前正在使用 Linux(基于 Freescale i.MX6)开发嵌入式设备。我的平台支持 DT(即所有设备实例化都来自扁平设备树,而不是板初始化源文件)。
在这种情况下,我需要实例化一个设备,该设备使用尚未移植到 DT 的驱动程序......这可能吗?我的意思是:是否可以混合通过设备树实例化的设备和以旧方式实例化的设备(例如,通过 i2c_register_board_info 用于 I2C 设备)?
如果是这样,是否也可以使用通常的方式将平台数据传递给旧式驱动程序(例如,通过 struct i2c_board_info 用于 I2C 设备)?或者,作为基于 DT 的平台,那么 struct i2c_board_info 中的 .platform_data 字段将始终为 NULL?
您知道网络上的一些示例吗?
谢谢。
【问题讨论】:
-
"...有可能吗?" -- 是的,即使使用DT,也可以有板文件。例如在 github.com/linux4sam/linux-at91/blob/linux-3.10-at91/arch/arm/… 中,有一些
platform_device和platform_data结构(以及调用of_*过程以检索 FDT 值)。
标签: linux driver embedded-linux device-tree