Linux kernel 是否可以从内核代码创建设备树节点及其参数?

Linux kernel 是否可以从内核代码创建设备树节点及其参数?,linux-kernel,kernel,device-driver,device-tree,Linux Kernel,Kernel,Device Driver,Device Tree,是否有任何方法可以在内核模块中创建设备树节点及其属性,linux内核中是否有此类API。设备树仅用于向内核发送设备信息。如果内核已经启动,您可以在struct machine\u desc*\u__init setup\u machine\u fdt(unsigned int dt\u phys)中定义解析结构后,将设备保存在包含设备树信息的结构中。 或者,如果要保存dts文件以供进一步使用,可以编辑该文件。设备树仅用于将设备信息发送到内核。如果内核已经启动,您可以在struct machine

是否有任何方法可以在内核模块中创建设备树节点及其属性,linux内核中是否有此类API。

设备树仅用于向内核发送设备信息。如果内核已经启动,您可以在
struct machine\u desc*\u__init setup\u machine\u fdt(unsigned int dt\u phys)中定义解析结构后,将设备保存在包含设备树信息的结构中。


或者,如果要保存dts文件以供进一步使用,可以编辑该文件。

设备树仅用于将设备信息发送到内核。如果内核已经启动,您可以在
struct machine\u desc*\u__init setup\u machine\u fdt(unsigned int dt\u phys)中定义解析结构后,将设备保存在包含设备树信息的结构中。


如果要保存dts文件以供进一步使用,也可以编辑该文件。

虽然这可能可行,但从代码中重写属性的新方法已设计并正在开发中。它被称为内置的统一设备属性API。例如,我们可以看看rfkill_gpio:arch/arm/mach-tegra/board-paz00.c,net/rfkill/rfkill-gpio.c。虽然这可能会起作用,但新的方法可以从设计和开发的代码中重写属性。它被称为内置的统一设备属性API。例如,我们可以看看rfkill_gpio:arch/arm/mach-tegra/board-paz00.c,net/rfkill/rfkill-gpio.c。为什么要这样做?这显然违背了使用设备树本身的目的。设备树最初用于将平台数据信息与内核分离,并使内核不受任何平台数据更改的影响。这个想法不是每次平台数据发生变化时都编译内核。所有设备平台数据都应仅包含在设备树文件中。为什么要这样做?这显然违背了使用设备树本身的目的。设备树最初用于将平台数据信息与内核分离,并使内核不受任何平台数据更改的影响。这个想法不是每次平台数据发生变化时都编译内核。所有设备平台数据应仅位于设备树文件中。