我感兴趣的是将一些数据(在运行时动态创建)从父节点传递到设备树中的子节点。例如,我在设备树中有以下条目:
parent_node {
a-string-property = "A string";
a-string-list-property = "first string", "second string";
a-byte-data-property = [0x01 0x23 0x34 0x56];
child-node1 {
first-child-property;
second-child-property = <1>;
a-string-property = "Hello, world";
};
child-node2 {
some_data ;
};
};
据我所知,您无法在运行时创建/更新设备树节点的属性(正确吗?)。
在父节点和子节点之间传递数据是否有任何机制(可能通过struct bus_type
,struct device
或
struct device_driver
)?
此数据传递的最终目的是为设备的内存映射(子节点)的地址转换提供偏移量。
答案 0 :(得分:0)
您无法在运行时创建/更新设备树节点的属性(正确吗?)。
在某些平台上,可以在运行时操作设备树。
请参阅CONFIG_OF_DYNAMIC
配置项。
Here是关于动态dt的演示文稿。
平台 sparc 和 powerpc seem to have以下功能用于此目的:
int of_set_property(struct device_node *dp, const char *name, void *val, int len)