[Bug 1917] dynamic tables for libchip serial drivers

bugzilla-daemon at rtems.org bugzilla-daemon at rtems.org
Tue Sep 27 12:05:45 UTC 2011


https://www.rtems.org/bugzilla/show_bug.cgi?id=1917

--- Comment #2 from Joel Sherrill <joel.sherrill at oarcorp.com> 2011-09-27 07:05:39 CDT ---
(In reply to comment #1)
> I don't think this fixes the actual problem: the minor number.  This minor
> number interface force you to use some sort of table.  A better fix would be to
> change the interface to use a pointer instead of the minor number.

That would be a massive overhaul including changes to termios and every termios
device driver which would be fragile.  It is well beyond the scope of what we
were trying to do here.  If the interface between the libchip console driver
framework and the drivers can be changed to be a pointer, that might be a nice
follow up and I would encourage investigating it.  But there are at least two
cases where the current minor number usage has advantages:

+ z8530 needs on1 irq to check both ports and this means checking minor and
minor +1
+ multi-port PCI board we have in queue after this could process up to 8 minors
by reading a single register on the PCI card.

It is early but I don't see how this could continue to work if we move to
pointers.  There appear to be multiple hardware cases where it is
useful/necessary to access a bank of ports from a single base minor.

The use case here of the minor number for termios is fairly typical.  And even
if we changed it at the framework to libchip code lnterface, there are still
spots at the top of the driver interface which would take a minor number (e.g.
open, close, read, write, etc)

FWIW there will be follow up code added for a couple of multi-port addon
boards.

-- 
Configure bugmail: https://www.rtems.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are watching all bug changes.



More information about the bugs mailing list