> This patch doesn't look right to me. Even if there are no serial
> ports, tty_register_driver() shouldn't be returning an error. If it's
> returning an error, it means that something non-tty driver is grabbing
> the tty major number. Simply papering over the error isn't the right
> thing to do; the big question is why tty_register_driver is failing,
> which translates into the question of who is grabbing TTY_MAJOR or
> TTY_AUX_MAJOR on the "common" PowerPC kernels, which is the bug that
> needs to be addressed.....
Well, it's more a question of who is grabbing minor numbers 64 and up
on the TTY_MAJOR/TTY_AUX_MAJOR major numbers, and the answer is that
is the driver for the Z8530-based serial ports, macserial.c. It does
that because I based it on the zs.c serial driver for the Sparc, which
also does that.
One approach would be to have a range of minor numbers for Z8530-based
serial ports with names like /dev/ttyZn. That would be the easiest
from a kernel developer's point of view, but I can foresee endless
confusion with new users who don't realize that just because a
powermac uses a different hardware chip for its serial ports from a
PC, you have to use different names for the serial ports.
The other thing that the serial driver does is go probing I/O ports
looking for serial devices. Perfectly reasonable on PCs, causes a
machine check (and crash) on powermacs, unfortunately.
Maybe ultimately there could be a scheme for allocating serial minor
numbers to serial device drivers at runtime, as the devices are found.
Paul.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/