Take a look into tsx-11.mit.edu:/pub/linux/680x0/src/. That's where the
newest kernels are located.
|> You misunderstand me. If you are assuming that everyone has a 8250, then
|> you shouldn't need an extra abstraction layer --- you should just be
|> able to change the inline functions for serial_out() and serial_in(),
|> which is the abstract interface to the registers on the 8250 UART.
|> There should very little changes that you need to make for a new
|> architecture. As I mentioned before, when Linus ported serial.c to the
|> Alpha, he had to add precisely two extra #ifdef's. Two extra #ifdef's
|> don't justify an entire new abstraction layer.
|>
|> If, on the other hand, you want to allow the serial driver to share code
|> with non-8250 based serial driver --- such as the many intelligent
|> serial boards that are out there --- then the abstractions which you
|> are using aren't good enough to support these non-8250 UART serial
|> devices. And let me assure you, they most certainly exist.
|>
|> Why don't I turn the question around. What's so different about the
|> access method to the 8250 UART's in the Amiga such that you need to
|> write a new layer, instead of just making minor modifications to
|> selected portions of the serial.c driver?
The Amiga uses a completely different hardware structure. Everything that
is in common with the usual PC serial hardware are the 1488/1489 driver
chips. But they don't need drivers. The new abstractions layer is justified,
really.
Ralf