LINUX.ORG.RU

Как записать в sysfs из ядра?

 


0

1

Манулов как вызывать sysfs колбеки целая куча в интернетах.

Но вот как писать в sysfs из ядра абсолютная тишина.

Кто-нибудь может объяснить как это делается? Есть тестовый файл: /sys/kernel/myclass/myfile.

Присылаю приветы из userspace, все нормально работает. Но как это работает в обратную сторону, совершенно непонятно.

Использовал вот этих манулов:

https://embetronicx.com/tutorials/linux/device-drivers/sysfs-in-linux-kernel/

https://github.com/Johannes4Linux/Linux_Driver_Tutorial/blob/main/19_sysfs/sysfs_test.c

Но вот как писать в sysfs из ядра абсолютная тишина.

Потому что идея, мягко говоря, сомнительная. sysfs - это интерфейс для доступа из юзерспейса, а запись и чтение (любых) файлов из ядра это фу-фу-фу и против политики партии

annulen ★★★★★
()
Ответ на: комментарий от annulen

Но ядерные модули как-то заполняют информацию в sysfs файлах?

Мне надо из этой функции послать уведомление, что получен сферический в вакууме пакет:

https://github.com/raspberrypi/linux/blob/3f4092766eaf692ed79b69f59c98dbe38e557fe7/drivers/usb/dwc2/gadget.c#L1211

Новую конечную точку я смог создать, но как в неё записать я хз.

steemandlinux ★★★★★
() автор топика
Ответ на: комментарий от steemandlinux

Но ядерные модули как-то заполняют информацию в sysfs файлах?

Я думал, что речь о записи в файл чужого модуля. Выводить инфу в свои, конечно, никто не запрещает)

Вроде в https://www.kernel.org/doc/html/latest/filesystems/sysfs.html все описано.

annulen ★★★★★
()
Ответ на: комментарий от annulen

Я так понимаю, в sysfs обращение к данным модулей идёт только во время чтения из userspace?

А значит мне надо сначала расширить структуру…

А ну да, слона я не приметил: volatile int etx_value = 0;

FACEPALM.

Спасибо!

steemandlinux ★★★★★
() автор топика
Последнее исправление: steemandlinux (всего исправлений: 1)