Piszę sterownik, aby kontrolować niestandardowy sprzęt.Sterownik dla systemu Linux: ioctl lub sysfs?
W dawnych czasach (tj. 15 lat temu) robiłem to z ioctls
, ale teraz kopie w sysfs
jako możliwą alternatywę.
- Jak rozumiem, Ioctl nie są całkowicie przestarzałe, ale preferowane jest sysfs (?)
- muszę czytać zestawy/zapisu wartości jednocześnie to znaczy za pomocą jednego wpisu sysfs. Czytałem, że nie jest to idealne, ale jest do przyjęcia, jeśli jest to konieczne (?)
- Musi być "
mutex
" ochrona sterownika, aby tylko jedna aplikacja mogła do niej pisać na raz. (Mam kilka wpisów "tylko do odczytu", które wolałbym zawsze mieć dostęp do wszystkich).
Biorąc pod uwagę powyższe, jaki byłby najlepszy sposób postępowania - ioctl lub sysfs?
Jeśli masz sysfs, jak mogę wprowadzić wyłączny dostęp?
Jeśli sysfs, to czy sterownik nie ma fpsów do odczytu/zapisu/ioctl, czy potrzebuje otworzyć/wydać ?!
(Jest to sterownik „prywatne”, więc nie dbam masowo;)!, Ale zorientowali czy nowe sposoby są stosowane wtedy równie dobrze mogę uporać się z nimi)
Dzięki.
Dzięki za opinie Michael. Myślę, że twoje postrzeganie kompromisów pasuje do tego, co miałem, – ColH
Być może mógłbyś "zaakceptować" odpowiedź, jeśli wydaje ci się to rozsądne? Dzięki. – michaeljt