Is there any chance for supporting synchronous serial devices - I mean some
way of passing "this is the end of the frame" and not waking the upper
layers earlier ?
Or is some other kernel structure much better for coding low-level
synchronous device drivers? WANPIPE ? Is it really well established (talking
to Linux X.25) or just used by one card manufacturer ?
Most of the time, people who are interested in using synchronous device
drivers are interested in using these devices for networking
applications --- i.e., X.25, Frame Relay, ISDN, etc. In those cases,
you usually want to interface the synchronous device directly into the
networking layer. There are in fact several synchoronous devices in the
kernel which are done in exactly this way, and so it doesn't touch the
tty code at all.
I am thinking about the adding some kind of functionality where the PPP
line discipline could inform the low-level device driver what the
"framing character" is, and this information would be used to determine
whether or not the line discpline should be woken up immediately, or
deferred to the next timer tick. The idea here is to reduce the latency
of the PPP line discpline in the cheapest way possible. This will
probably be used mostly by asynchronous devices, since for the reasons
stated above, synchronous devices will probably be always directly wired
into the networking stack.