我正在为嵌入式 Linux 系统编写内核模块。该模块工作正常,并通过使用compatible
设备树中的条目自动加载。它在 中创建了一个设备/dev/
,我可以使用ioctl
按摩访问该设备。
该模块管理几个离散的内存区域。
由于该设备应同时由多个程序读取和写入,因此我知道可能存在竞争条件。
但是每个内存区域只有一个程序。
通过多次加载模块,竞争条件应该没有任何问题(也避免了其他困难)。
问:是否可以多次加载同一个模块(对于设备树中的每个条目)?
myDevs {
compatible = "myDevs";
#address-cells = <0x1>;
#size-cells = <0x1>;
myown0@0xff000000 {
compatible = "myown";
name = "myown0";
reg = <0xff000000 0x27>;
};
myown1@0xff002000 {
compatible = "myown";
name = "myown1";
reg = <0xff002000 0x27>;
};
};