Sto facendo un piccolo modulo del kernel per fornire accesso allo spazio utente ad alcune funzionalità in modalità kernel di un chip ARMv7 (in particolare, controllo della cache). Sto leggendo tramite Driver di dispositivo Linux di Corbet, Rubini e Hartman. In esso descrivono come realizzare un driver + dispositivo + bus completo. Non voglio affatto creare un autista di autobus. In effetti, il "driver" che sto creando non ha assolutamente bisogno di corrispondere alla definizione di un dispositivo - è implicitamente abbinato alla CPU della piattaforma. Qualcuno può spiegare a me:Accesso al driver Linux tramite sysfs
- Dove in sysfs dovrebbe miei attributi andare? Dovrebbe essere nella mia voce modulo sotto
/sysfs/modules/mymodule
? Anche/sys/devices/platform
sembra essere promettente, così come/sys/devices/system/cpu
. - Se esiste un luogo in cui dovrei inserire i miei attributi
kobject
/come collegarlo? Come ottengo il necessariokset
? Tutti gli esempi che ho visto creano unkset
e quindi collegano ad esso dalkobject
- Non ho visto un'API per richiedere un nome esistentekset
?
Scusate se questo è semplicemente ovvio, o se c'è qualche esempio molto semplice e facilmente scoperto da qualche parte che non ho scoperto per qualche motivo. Qualcuno può far luce su questo?
Daremo un'occhiata al driver coretemp.c. Grazie! –
Un aggiornamento: il modulo coretemp era il modello perfetto. Ho ottenuto alcuni attributi sysfs che funzionano abbastanza bene. Grazie ancora. –