Re: best way to access device driver functions

From: Nix
Date: Fri Sep 16 2005 - 10:25:23 EST


On 16 Sep 2005, Arjan van de Ven noted:
>
>> New *system calls* are generally avoided (especially if they might be
>> useful to non-privileged code) because they come with a *very* high
>> backward compatibility burden
>
> ioctls come with the same burden though.

Well, sort of. A lot of ioctl()s are widely-known and surely can't be
changed, just like syscalls (e.g. the terminal control stuff) --- but
in the past even things like the HD geometry ioctls have changed,
and ioctl()s specific to, say, a single obscure block device could
probably change without requiring recompilation of more than one or
two userspace programs (and this has happened).

Indeed, one of the problems with ioctl()s is that there is no clear
delineation: some ioctl()s are heavily used and some are totally
unused, and it's never clear which is which in all cases.

(I suppose this is sort of true of syscalls too --- how many people call
sys_uselib()? --- but to a much lesser extent, because there's no such
thing as an `obscure device-specific syscall'.)

--
`One cannot, after all, be expected to read every single word
of a book whose author one wishes to insult.' --- Richard Dawkins
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/