Please consult Unix manual and source code (for instance any of the BSD).
Linux was never a reference in Unix world, it was about to mimic Unix, but
was not even self-compatible. Not a good reference point. See how big mess
it introduced in current drivers implementation (i.e. drm kms) and their
propagation to other OS. Is this similar situation here?

Device driver should not provide any additional processing / silent rewrite
of data, just provide raw data, that is then processed by the application.
Driver may be configured by ioctl/sysclt, to enable additional / specific
behavior (i.e. debug, buffer size, latency, etc), so the user always knows
exactly what the driver does.

I am pro Greg approach, so driver is always simple and generic, everything
else is up to application. This is the Unix way and you will know how most
things work, because they all work the same generic standardized way, as
simple as possible, nothing else happens "in the background unnoticed".

If a specific device needs a specific handling by a generic driver, then
"quirks" may be used. That explicitly mark "specific" behavior for a given
device (and only this device).

--
CeDeROM, SQ7MHZ, http://www.tomek.cedro.info

Reply via email to