W file_operations struktury mojego kierowcy, mam:unlocked_ioctl vs normalnej ioctl
struct file_operations Fops = {
read: device_read,
write: device_write,
unlocked_ioctl: device_ioctl,
...
};
Tj nie ma użytego pola ioctl. Czy to wystarcza, aby uniknąć Big Kernel Lock i wejść do device_ioctl() bez jakiejkolwiek synchronizacji? Czy muszę również zmieniać wywołania funkcji ioctl() w części przestrzeni użytkownika?
Czy to naprawdę poprawna składnia? Powinien być bardziej podobny do '.read = device_read,' itp. – ephemient
tak, to po prostu działa –
@ephemient: Składnia 'name: value' to stare rozszerzenie gcc, zaimplementowane zanim C99 doda wyznaczone inicjalizatory z bieżącym' .name = składnia wartości. –