Messages in this thread | | | From | Arnd Bergmann <> | Subject | Re: UBI/DVB ioctl conflict? | Date | Mon, 8 Dec 2008 16:50:53 +0100 |
| |
On Monday 08 December 2008, Artem Bityutskiy wrote: > On Mon, 2008-12-08 at 10:41 +0100, Laurent Pinchart wrote: > > Correct me if I'm wrong, but doesn't this only matters for devices that would > > implement both the UBI and DVB API on the same inode ? That would be quite > > unlikely. > > Yeah, I guess. But this anyway makes sense to keep ioctls > non-overlapping.
We try hard (but sometimes fail) to keep every ioctl number unique. The reason for this is that the device drivers are not the only pieces of code that look at them. Specifically, three other things frequently cause problems here:
* strace wants to know about ioctl numbers so that it can show the arguments in a meaningful way when tracing a program.
* the original 64 bit emulation for ioctl numbers in fs/compat_ioctl.c assumes that it should translate specific calls in a given way. This is not important if both device drivers handle all their ioctls through their own ->compat_ioctl file operation.
* A number of binary emulation layers try to convert between different formats (endianess, word size, ioctl numbers). The most common ones are Linux-on-BSD, x86-on-ia64, x86-on-powerpc and Unix-on-Linux emulation layers in user space.
Arnd <><
| |