|
Hi, I'm Working with AT91SAM9G25 Evaluation board (AT91SAM9x5) and linux 2.6.39 (with buildroot-2011.05).
I wanted to write ioctl routine for a kernel module/driver, which has 1 MAJOR number and 4 MINOR numbers (4 devices of SAME type).
I found that file_operations structure in "linux/fs.h", in linux-2.6.39 source tree does not have the field "ioctl". To get the device identification through minor number, "inode" structure pointer should be there in any ioctl calls. I found that the function pointers "unlocked_ioctl" and "compat_ioctl" in linux/fs.h DO NOT contain "inode" structure pointer.
long (*unlocked_ioctl) (struct file *, unsigned int, unsigned long); long (*compat_ioctl) (struct file *, unsigned int, unsigned long);
Is "inode" supported in IOCTLs? Also, is there any method by which I can add "inode" support to IOCTLs?
Thanks..
|