In struttura file_operations del mio autista, ho:unlocked_ioctl vs ioctl normale
struct file_operations Fops = {
read: device_read,
write: device_write,
unlocked_ioctl: device_ioctl,
...
};
Vale a dire non esiste un campo ioctl usato. È sufficiente per evitare Big Kernel Lock ed entrare in device_ioctl() senza alcuna sincronizzazione? O devo cambiare anche le chiamate ioctl() nella parte userspace del codice?
Questa sintassi è veramente valida? Dovrebbe essere più simile a '.read = device_read,' ecc. – ephemient
sì, funziona solo –
@ephemient: la sintassi 'name: value' è una vecchia estensione gcc, implementata prima che C99 aggiungesse inizializzatori designati con l'attuale' .name = sintassi value'. –