我正在制作一个小型内核模块,以提供对 ARMv7 芯片(特别是缓存控制)的一些仅内核模式功能的用户空间访问。我正在阅读Corbet、Rubini 和 Hartman 的Linux Device Drivers 。他们在其中描述了如何制作完整的驱动程序+设备+总线。我根本不想创建公共汽车驱动程序。事实上,我正在制作的“驱动程序”根本不需要与设备定义匹配——它隐式地与平台的 CPU 匹配。谁能给我解释一下:
- 我的属性应该放在 sysfs 的什么位置?它应该在我的模块条目中
/sysfs/modules/mymodule
吗?/sys/devices/platform
似乎也很有希望,/sys/devices/system/cpu
. - 如果有一个现有的地方我应该放置我的
kobject
/属性,我该如何插入它?我如何获得必要的kset
?我见过的所有示例都创建了一个kset
然后链接到它kobject
- 我还没有看到用于请求现有命名的 APIkset
?
对不起,如果这只是不可能显而易见的,或者如果在某个地方有一些非常简单且容易发现的示例,但由于某种原因我没有发现。任何人都可以对此有所了解吗?