It looks like (i havent checked all the tree) that every function that
is registered as ioctl (or
read_ioctl or fb_ioctl or ...) have an argument "unsigned long arg",
then each function is using
it like this:
void __user *argp = (void __user *)arg;
I am wondering why the argument isn't from type "void __user *".
Thanks,
Benoit