From: Richard Gooch <rgooch@ras.ucalgary.ca>
To: Ivan Passos <ivan@cyclades.com>
Cc: Andrew Morton <akpm@zip.com.au>,
"Michael H. Warfield" <mhw@wittsend.com>,
David Weinehall <tao@acc.umu.se>,
linux-kernel@vger.kernel.org
Subject: Re: Serial Driver Name Question (kernels 2.4.x)
Date: Wed, 9 Jan 2002 09:36:30 -0700 [thread overview]
Message-ID: <200201091636.g09GaU705860@vindaloo.ras.ucalgary.ca> (raw)
In-Reply-To: <3C3B81D7.F1F43495@cyclades.com>
In-Reply-To: <3C33E0D3.B6E932D6@zip.com.au> <3C33BCF3.20BE9E92@cyclades.com> <200201030637.g036bxe03425@vindaloo.ras.ucalgary.ca> <200201062012.g06KCIu16158@vindaloo.ras.ucalgary.ca> <3C38BC19.72ECE86@zip.com.au> <200201070636.g076asR25565@vindaloo.ras.ucalgary.ca> <3C3A7DA7.381D033D@zip.com.au> <20020108071548.J5235@khan.acc.umu.se> <3C3A9048.CB80061A@zip.com.au> <20020108165851.B26294@alcove.wittsend.com> <3C3B6E96.8FB0341A@zip.com.au> <3C3B81D7.F1F43495@cyclades.com>
Ivan Passos writes:
>
> Andrew Morton wrote:
> >
> > "Michael H. Warfield" wrote:
> > >
> > > The trouble there is the problem with conventional lock files under
> > > /var/lock which only use the base name of the device name so cua/42
> > > and cuf/42 both have the same lock file of /var/lock/LCK..42 and
> > > would collide.
> >
> > OK, thanks. So it looks like we stick with
> >
> > http://www.zip.com.au/~akpm/linux/2.4/2.4.18-pre2/tty_name.patch
> >
> > Which just puts %d's at the end of all the device names in the
> > non-devfs case.
> >
> > I'll have another go at that patch, check for missed drivers,
> > then send it out again. OK?
>
> OK, just two comments:
> - As you'll have to patch all drivers anyway, in case Richard Gooch
> doesn't have a problem with this suggestion, I'd suggest you patch
> the kernel as follows:
>
> (1) drivers/char/tty_io.c
> ---------------------
> @@ -193,10 +193,13 @@ _tty_make_name(struct tty_struct *tty, c
>
> if (!tty) /* Hmm. NULL pointer. That's fun. */
> strcpy(buf, "NULL tty");
> else
> - sprintf(buf, name,
> - idx + tty->driver.name_base);
> + sprintf(buf, "%s%d", name, idx + tty->driver.name_base);
>
> return buf;
> }
>
> (2) drivers/char/serial.c
> ---------------------
> @@ -5387,7 +5387,7 @@ static int __init rs_init(void)
> serial_driver.driver_name = "serial";
> #endif
> #if (LINUX_VERSION_CODE > 0x2032D && defined(CONFIG_DEVFS_FS))
> - serial_driver.name = "tts/%d";
> + serial_driver.name = "tts/";
> #else
> serial_driver.name = "ttyS";
> #endif
>
>
> (3) drivers/char/whatever_other_driver.c
> ------------------------------------
> @@ -5387,7 +5387,7 @@ static int __init wod_init(void)
> wod_driver.driver_name = "whatever_other_driver";
> #endif
> #ifdef CONFIG_DEVFS_FS
> - wod_driver.name = "tts/N%d";
> + wod_driver.name = "tts/N";
> #else
> wod_driver.name = "ttyN";
> #endif
>
> I've already suggested this in a previous msg, but nobody gave
> feedback. I believe this is cleaner, as it removes the %d from
> the driver.name field, while fixes the problem I reported.
Since you have to change all the drivers anyway, I'd prefer if
_tty_make_name() was left unchanged, and instead you put the "%d" in
each driver.name, thusly:
#ifdef CONFIG_DEVFS_FS
wod_driver.name = "tts/N%d";
#else
wod_driver.name = "ttyN%d";
#endif
The reason: maximum flexibility in the kinds of names we can
support. If for some reason we want a name like "tts/N%d_A" and
"tts/N%d_B" (say a driver with linked ttys, like the pty driver), we
don't need to make a global change.
Regards,
Richard....
Permanent: rgooch@atnf.csiro.au
Current: rgooch@ras.ucalgary.ca
next prev parent reply other threads:[~2002-01-09 16:36 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-01-03 2:07 Ivan Passos
2002-01-03 4:40 ` Andrew Morton
2002-01-03 16:32 ` Ivan Passos
2002-01-03 6:37 ` Richard Gooch
2002-01-03 7:03 ` Andrew Morton
2002-01-06 20:12 ` Richard Gooch
2002-01-06 20:27 ` Richard Gooch
2002-01-06 20:36 ` Alan Cox
2002-01-06 21:05 ` Andrew Morton
2002-01-07 6:36 ` Richard Gooch
2002-01-07 7:20 ` Andrew Morton
2002-01-08 5:03 ` Andrew Morton
2002-01-08 6:15 ` David Weinehall
2002-01-08 6:23 ` Andrew Morton
2002-01-08 18:54 ` Ivan Passos
2002-01-08 21:58 ` Michael H. Warfield
2002-01-08 22:11 ` Andrew Morton
2002-01-08 23:33 ` Ivan Passos
2002-01-09 16:36 ` Richard Gooch [this message]
2002-01-10 9:14 ` Nick Craig-Wood
2002-01-08 18:47 ` Ivan Passos
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=200201091636.g09GaU705860@vindaloo.ras.ucalgary.ca \
--to=rgooch@ras.ucalgary.ca \
--cc=akpm@zip.com.au \
--cc=ivan@cyclades.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mhw@wittsend.com \
--cc=tao@acc.umu.se \
/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
all inboxes | Powered by JetHome®