Estoy creando un pequeño módulo de núcleo para proporcionar acceso de espacio de usuario a algunas funciones de modo de núcleo de un chip ARMv7 (específicamente, control de caché). Estoy leyendo Linux Device Drivers por Corbet, Rubini y Hartman. En él describen cómo hacer un controlador + dispositivo + bus completo. No quiero crear un controlador de autobús en absoluto. De hecho, el 'controlador' que estoy creando realmente no necesita coincidir con ninguna definición de dispositivo: está implícitamente relacionado con la CPU de la plataforma. ¿Alguien me puede explicar:Acceso de controlador de Linux a través de sysfs
- ¿Dónde en sysfs deberían ir mis atributos? ¿Debería estar en mi entrada de módulo en
/sysfs/modules/mymodule
?/sys/devices/platform
parece prometedor también, y también lo hace/sys/devices/system/cpu
. - Si hay un lugar donde debería poner mis atributos
kobject
/, ¿cómo lo enchufo? ¿Cómo obtengo el necesariokset
? Todos los ejemplos que he visto crean unkset
y luego un enlace desde elkobject
- No he visto una API para solicitar un nombre existentekset
?
Lo siento si esto es simplemente obvio, o si hay algún ejemplo realmente sencillo y fácil de descubrir en algún lugar que no he descubierto por alguna razón. ¿Alguien puede aclarar esto?
Echaré un vistazo al controlador coretemp.c. ¡Gracias! –
Una actualización: el módulo coretemp era la plantilla perfecta. Obtuve algunos atributos sysfs funcionando bastante bien. Gracias de nuevo. –