【发布时间】:2021-10-14 03:34:57
【问题描述】:
我正在为一些自定义硬件编写 Linux 驱动程序。我的问题是 Linux 如何将硬件与我的驱动程序相匹配。硬件的DT入口是
nvme_host_sys@43c00000 {
clock-names = "sys_clk_p", "sys_clk_n", "aclk";
clocks = <0x13 0x13 0x13>;
compatible = "xlnx,nvme-host-sys-1.0";
interrupt-names = "intr";
interrupt-parent = <0x4>;
interrupts = <0x0 0x1d 0x4>;
reg = <0x43c00000 0x80000>;
phandle = <0x38>;
};
我可以使用 modprobe 插入我的驱动程序,并且工作正常,因为我可以看到 init 中的 printk 正在编写。我还可以使用 mknod 在 /dev 中创建一个条目,这也可以正常工作。但是驱动程序现在是否与硬件相关联?我需要做其他事情吗?谢谢
【问题讨论】:
-
它通过内核已分配给硬件的主要和次要设备编号以及您已在驱动程序中注册。