mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
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

  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®