Я пишу драйвер для управления некоторым нестандартным оборудованием.
Раньше (то есть 15 лет назад) я делал это с ioctls
, но теперь я копаюсь в sysfs
как на возможную альтернативу.
- Насколько я понимаю, ioctls не полностью устарели, но предпочтительнее sysfs (?)
- Мне нужно читать / записывать наборы значений одновременно, то есть через одну запись в sysfs. Я читал, что это не идеально, но при необходимости приемлемо (?)
- Драйвер должен иметь защиту «
mutex
», чтобы только одно приложение могло писать в него одновременно. (У меня есть несколько информационных записей, предназначенных только для чтения, которые я бы предпочел сделать доступными для всех в любое время).
Учитывая вышеизложенное, что было бы лучше всего продолжить - ioctl или sysfs?
Если sysfs, то как мне реализовать монопольный доступ?
Если sysfs, то если у драйвера нет fops чтения / записи / ioctl, нужно ли ему открывать / выпускать ?!
(Это «частный» драйвер, поэтому меня это особо не волнует;), но подумал, что если новые способы более применимы, то я мог бы с таким же успехом разобраться с ними!)
Спасибо.