From: Russell King <rmk+lkml@arm.linux.org.uk>
To: Paul Mackerras <paulus@samba.org>
Cc: linuxppc-dev@ozlabs.org, dwmw2@infradead.org,
David Miller <davem@davemloft.net>,
alan@lxorguk.ukuu.org.uk, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] Stop pmac_zilog from abusing 8250's device numbers.
Date: Wed, 4 Apr 2007 17:06:40 +0100 [thread overview]
Message-ID: <20070404160640.GA18990@flint.arm.linux.org.uk> (raw)
In-Reply-To: <17939.30226.339390.709561@cargo.ozlabs.ibm.com>
On Wed, Apr 04, 2007 at 07:55:30PM +1000, Paul Mackerras wrote:
> Russell King writes:
> > FACT: there is no way to know at any particular driver registration time
> > how many "generic" serial ports will be available - as required for the
> > chardev and tty layers.
>
> I think the thing that davem and I have in common is that we have a
> data structure that the firmware gives us that (at least) enumerates
> all of the on-board serial ports for us, thus we *can* know very early
> in the boot process how many "generic" serial ports will be available.
Goodo. However, that's not the case elsewhere, and the lack of that
information makes it *extremely* hard to provide any generic solution,
especially with a driver as ubiquous as the 8250 driver.
How do I know how many serial ports are connected to an ARM device?
What about that expansion pack I might decide to slip onto the back of
my ARM PDA which wasn't known about when the device was first booted
some years ago?
> > There are very real issues that need fixing deep within the kernel
> > before you can even think about the possibility of *PROPERLY* supporting
> > all serial ports beneath one namespace.
>
> I don't actually want to do that; I'm perfectly happy for various
> kinds of plug-in cards to each have their own namespace. If you're
> plugging in a Cyclades card for instance I think it's quite reasonable
> for the ports to be named /dev/ttyCn.
Well, Cyclades is irrelevant in this discussion because it has nothing
to do with serial_core, and therefore nothing to do with the 8250 driver,
and, therefore, nothing to do with the problem of the major 4 / ttyS
namespace. Ergo, it's utterly irrelevant to even mention it.
> It's the built-in serial ports on the motherboard where I think the
> user should not have to know what sort of chip was used to implement
> the serial port. We don't require users to know whether the
> manufacturer used an 8250 or a 16450 or a 16550, so why should it
> matter if the manufacturer used an 8530?
I'm going to answer this *technically*. It's the *technicalities* that
are causing this restriction. Solve those technicalities and the problem
goes away.
We don't require users to know if it's an 8250, 16450, 16550 because
they're all compatible with the previous models, and therefore
*technically* it makes sense for them to be driven by the same driver.
However, an 8530 isn't compatible with an 8250 and requires a separate
driver.
The restriction on serial namespace isn't *hardware* based, it's *driver*
based, and that restriction comes from the way the tty and chardev
subsystems work. When you register a tty driver, you need to tell the
tty subsystem how many ttys that driver will *ever* support. The only
way to change that number is to unregister all ttys connected with the
driver, unregister the driver, change the number, reallocate arrays,
re-register the driver, and re-register the ttys.
If any one of those ttys is in use, there's a problem - you have to
hangup that user and have them close/reopen the tty. That's fairly
disruptive, especially if it happens to be a modem that some user has
dialed in from (you end up logging them out of the system every time
you need to increase the number of serial ttys).
So, you see, this is a big problem that needs *technically*
resolving *with* *patches* before we can think about having a single
serial namespace.
> BTW, are you still maintaining the serial layer?
That's irrelevant to the discussion at hand. For the record, because
others have different opinions to me, and persisted in trying to tell
me what I should be doing without providing patches, I stepped back
from the maintainership role, and have only been reviewing the odd
patch as I see fit.
Maybe it'll be different this time around, but so far all I've seen in
this thread is lots of people providing opinions and very little code
to achieve their aims. Or even technical *discussion* about how to go
about implementing those opinions.
Therefore, I put it to those arguing for a single serial major that the
reason it hasn't happened is that no one is *really* that bothered about
it to solve the underlying issues.
--
Russell King
Linux kernel 2.6 ARM Linux - http://www.arm.linux.org.uk/
maintainer of:
next prev parent reply other threads:[~2007-04-04 16:06 UTC|newest]
Thread overview: 99+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-04-03 14:25 [PATCH] Stop pmac_zilog from abusing 8250's device numbers David Woodhouse
2007-04-03 20:37 ` Brad Boyer
2007-04-03 22:58 ` David Woodhouse
2007-04-03 23:14 ` Paul Mackerras
2007-04-03 23:28 ` David Woodhouse
2007-04-03 21:29 ` Brad Boyer
2007-04-03 23:57 ` David Woodhouse
[not found] ` <200704032210 02.GA13210@cynthia.pants.nu>
2007-04-03 22:10 ` Brad Boyer
2007-04-04 0:54 ` David Woodhouse
2007-04-03 23:09 ` Brad Boyer
2007-04-04 1:38 ` Alan Cox
2007-04-04 2:10 ` Valdis.Kletnieks
2007-04-04 1:57 ` David Lang
2007-04-04 8:51 ` Russell King
2007-04-04 9:48 ` Geert Uytterhoeven
2007-04-04 16:09 ` H. Peter Anvin
2007-04-04 16:22 ` Linas Vepstas
2007-04-04 16:34 ` David Woodhouse
2007-04-04 17:38 ` Linas Vepstas
2007-04-04 1:16 ` David Miller
2007-04-04 1:28 ` Alan Cox
2007-04-04 1:07 ` David Lang
2007-04-04 1:44 ` Alan Cox
2007-04-04 1:23 ` David Lang
2007-04-04 1:32 ` David Lang
2007-04-04 16:07 ` H. Peter Anvin
2007-04-04 17:50 ` Linas Vepstas
2007-04-04 1:50 ` David Miller
2007-04-04 11:14 ` Alan Cox
2007-04-04 12:20 ` Olivier Galibert
2007-04-04 1:48 ` David Miller
2007-04-04 3:07 ` Gerhard Mack
2007-04-11 16:30 ` Benny Amorsen
2007-04-12 15:34 ` Roland Dreier
2007-04-13 2:45 ` Gerhard Mack
2007-04-13 2:24 ` David Lang
2007-04-13 8:09 ` Geert Uytterhoeven
2007-04-04 0:02 ` David Miller
2007-04-04 0:12 ` David Woodhouse
2007-04-03 22:14 ` Brad Boyer
2007-04-04 1:13 ` Benjamin Herrenschmidt
2007-04-04 1:17 ` David Miller
2007-04-04 1:32 ` Benjamin Herrenschmidt
2007-04-04 0:01 ` [PATCH v2] " David Woodhouse
2007-04-04 1:25 ` [PATCH] " Alan Cox
2007-04-04 4:20 ` Paul Mackerras
2007-04-04 5:19 ` David Woodhouse
2007-04-04 5:50 ` David Miller
2007-04-04 7:04 ` Geert Uytterhoeven
2007-04-04 13:43 ` Maciej W. Rozycki
2007-04-04 7:52 ` Russell King
2007-04-04 8:41 ` David Miller
2007-04-04 5:53 ` Paul Mackerras
2007-04-04 6:03 ` David Woodhouse
2007-04-04 6:31 ` Paul Mackerras
2007-04-04 14:19 ` [PATCH v3] Stop pmac_zilog from abusing 8250's device numbers; optionally David Woodhouse
2007-04-04 23:48 ` Paul Mackerras
2007-04-05 12:45 ` David Woodhouse
2007-04-05 22:53 ` Paul Mackerras
2007-04-05 22:59 ` David Woodhouse
2007-04-05 14:31 ` Atsushi Nemoto
2007-04-05 14:47 ` David Woodhouse
2007-04-05 15:09 ` Atsushi Nemoto
2007-04-05 15:18 ` David Woodhouse
2007-04-05 15:49 ` Atsushi Nemoto
2007-04-05 15:56 ` Geert Uytterhoeven
2007-04-04 8:12 ` [PATCH] Stop pmac_zilog from abusing 8250's device numbers David Miller
2007-04-04 8:38 ` Russell King
2007-04-04 8:43 ` David Miller
2007-04-04 9:00 ` Russell King
2007-04-04 19:58 ` David Miller
2007-04-04 12:21 ` Theodore Tso
2007-04-04 16:10 ` Russell King
2007-04-04 16:16 ` H. Peter Anvin
2007-04-04 16:25 ` Alan Cox
2007-04-04 17:41 ` Theodore Tso
2007-04-04 18:15 ` Russell King
2007-04-04 19:50 ` David Woodhouse
2007-04-05 6:05 ` Paul Mackerras
2007-04-05 8:50 ` Russell King
2007-04-05 16:15 ` Olivier Galibert
2007-04-05 21:41 ` Pavel Machek
2007-04-03 23:56 ` David Miller
2007-04-04 1:13 ` Benjamin Herrenschmidt
2007-04-04 6:58 ` Paul Mackerras
2007-04-04 14:16 ` David Woodhouse
2007-04-03 23:55 ` David Miller
2007-04-04 1:19 ` Alan Cox
2007-04-04 1:21 ` David Miller
2007-04-04 1:36 ` Alan Cox
2007-04-04 1:47 ` David Miller
2007-04-04 7:47 ` Russell King
2007-04-04 9:55 ` Paul Mackerras
2007-04-04 16:06 ` Russell King [this message]
2007-04-04 6:58 ` Geert Uytterhoeven
2007-08-14 11:49 ` Olaf Hering
2007-08-14 11:53 ` David Woodhouse
2007-08-14 16:24 ` Olaf Hering
2007-04-04 7:55 ` Olaf Hering
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20070404160640.GA18990@flint.arm.linux.org.uk \
--to=rmk+lkml@arm.linux.org.uk \
--cc=alan@lxorguk.ukuu.org.uk \
--cc=davem@davemloft.net \
--cc=dwmw2@infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linuxppc-dev@ozlabs.org \
--cc=paulus@samba.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).