Re: wrong number of serial port detected

From: Jason Dravet
Date: Sat Dec 10 2005 - 13:08:44 EST


From: Russell King <rmk+lkml@xxxxxxxxxxxxxxxx>
To: Jason Dravet <dravet@xxxxxxxxxxx>
CC: bjorn.helgaas@xxxxxx, linux-kernel@xxxxxxxxxxxxxxx
Subject: Re: wrong number of serial port detected
Date: Sat, 10 Dec 2005 15:46:28 +0000

On Sat, Dec 10, 2005 at 08:24:59AM -0600, Jason Dravet wrote:
> How is this for an idea? The serial driver enumerates ACPI, PNPBIOS, or
> whaterver it needs for the onboard serial ports. If you have a PCI based
> serial card it would show up in the emuneration of the PCI bus, right? For
> the case of ISA serial cards couldn't they have an option in modprobe.conf
> to tell the kernel about the ISA serial card and the proper number of
> serial ports on the card itself?

That's already thought about and rejected.

If you want to pass a string telling the serial module where the ports
are, you could be looking at a very _long_ string. You need to specify
the IO address, IRQ and base baud as a minimum for every port, along
with optional flags.

Assuming 5 characters for the IO address, 1 for the IRQ, and 6 for
the baud base, plus 2 for separators between each of these, and one
character separator per group, you're looking at 15 characters
minimum per port. For 8 ports, that's 120 characters. 16 would
be 240 characters. If the driver is built-in to the kernel, you're
limited to 255 characters to describe all kernel options, so you
couldn't hope to describe 32 ports.

I was not aware that it worked like that. My last experience with ISA cards was to put a line in the modules.conf that pointed to the base IO and IRQ for the card. There was a serperate file that setup the serial ports. This was way back in RedHat 6.x days. Thank you for the new information.

The alternative is something like Dave's patch which allows you to
tell the driver the number of ports you want to support and setserial.

Dave's patch is good and I look forward to seeing it in the kernel.

Thanks,
Jason


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/