In my driver\'s file_operations structure, I have:
struct file_operations Fops = { read: device_read, write: device_write, unlocked_ioctl: device_io
Andi Kleem posted a recipe for a quick-and-dirty conversion of code using ioctl to unlocked_ioctl on Linux kernel mailing list:
ioctl
unlocked_ioctl
[JANITOR PROPOSAL] Switch ioctl functions to ->unlocked_ioctl
The recipe explains how to tweak the function's parameters and insert locking and unlocking calls.