Linus Torvalds wrote:
>On Mon, 21 Aug 2000, Philipp Rumpf wrote:
>>On Mon, Aug 21, 2000 at 12:02:03PM -0700, Linus Torvalds wrote:
>>>Yes, people always worry about common chips, but they don't happen all
>>>that often in the end, and the pain from trying to share the code is
>>>usually much MUCH bigger than the pain from just occasionally stealing
>>>code from the other guy.
>>So you think it's a good thing we have 5 serial drivers rather than one, and
>>it'd be a good thing to split up the one we have into several drivers again ?
> Which does not mean that we should just duplicate all the code. The same
> way we don't duplicate the whole TCP/IP stack for each network card
> driver. There are tons of common issues in serial cards, and it's probably
> a good idea to have common code. But you should not take it too far.
> I think the current serial.c is starting to be a major mistake. That one
> driver tries to handle everything from the original 16450 all the way up
> to serial multi-port cards that happen to just be multiple 16550's with
> some tweaks. As a result, the driver is quite complex and huge and is a
> mess of #ifdef CONFIG_xxx.
IMHO, it would be a GoodThing(tm) to move more things into the domain
of the Line Discipline when the next rewrite of the serial driver happens.
This would make it easier to share code across serial drivers.
When I spoke with Ted Ts'o at LWE last week, he seemed to be planning
to move in that direction post 2.4.
>>I think what might be saving us right now is that there is only one
>>widely-used bus architecture (PCI and it's derivatives/predecessors),
>>so no-one is going to implement conflicting new features in both parts
>>of a split driver.
> And this is not going to change. Everything but PCI is dead, and there
> isn't going to be multiple different buses. Sure, we'll have some serial
> new-generation stuff, and we'll continue to have things like USB, but I'm
> not worried about having the same chip on different buses. It'
> s a thing of the past.
Not so much the same chip, but the same protocol for intelligent devices
across different busses -- the old Central Data (now Digi) Scsi Terminal
Server and EtherLites use the same intelligent protocol over both SCSI and
Ethernet for example. Future products are likely to use a common protocol
over Ethernet, PCI and USB.
Notionally, these drivers have three layers (tty & LD, MUX, transport)
and generalizing this out to all cards where the MUX and transport layers
(or just transport when talking directly to UARTS) are all that needs
to be provided to add support for that card would be a big win.
-- Jeff Randall - Jeff_Randall@digi.com "A paranoid person is never alone, he knows he's always the center of attention..." - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to firstname.lastname@example.org Please read the FAQ at http://www.tux.org/lkml/
This archive was generated by hypermail 2b29 : Thu Aug 31 2000 - 21:00:16 EST