From: Ivan Passos <ivan@cyclades.com>
To: Andrew Morton <akpm@zip.com.au>
Cc: Richard Gooch <rgooch@ras.ucalgary.ca>, linux-kernel@vger.kernel.org
Subject: Re: Serial Driver Name Question (kernels 2.4.x)
Date: Tue, 08 Jan 2002 10:47:56 -0800 [thread overview]
Message-ID: <3C3B3EDC.C59D48C8@cyclades.com> (raw)
In-Reply-To: <3C38BC19.72ECE86@zip.com.au>, <3C34024A.EDA31D24@zip.com.au> <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>
Andrew Morton wrote:
>
> Richard, can we please get this wrapped up?
>
> My preferred approach is to change the driver naming scheme
> so that we don't have to put printf control-strings everywhere.
> We can remove a number of ifdefs that way.
>
> So for serial.c:
>
> --- linux-2.4.18-pre2/drivers/char/tty_io.c Mon Jan 7 16:48:02 2002
> +++ linux-akpm/drivers/char/tty_io.c Mon Jan 7 20:56:38 2002
> @@ -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);
> -
> + else {
> +#ifdef CONFIG_DEVFS_FS
> + sprintf(buf, "%s/%d", name, idx + tty->driver.name_base);
> +#else
> + sprintf(buf, "%s%d", name, idx + tty->driver.name_base);
> +#endif
> + }
> return buf;
> }
>
> --- linux-2.4.18-pre2/drivers/char/serial.c Mon Jan 7 16:48:02 2002
> +++ linux-akpm/drivers/char/serial.c Mon Jan 7 20:58:09 2002
> @@ -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
This doesn't cover all the drivers, because the definition for devfs
is that the standard serial "translates" 'ttyS' to 'tts/', and other
serial drivers "translate" 'ttyN' (where 'N' can be several
different letters -- e.g. 'C' for Cyclades, 'R' for Comtrol, 'X' for
Specialix, 'D' for Digi, etc.) to 'tts/N' (so that standard serial
and other serial devices can share the same devfs directory).
So, I believe the best way to solve this would be:
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;
}
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
And then, for instance, for the Cyclades driver, we'd use:
#ifdef CONFIG_DEVFS_FS
cy_serial_driver.name = "tts/C";
#else
cy_serial_driver.name = "ttyC";
#endif
, and let's not forget the callout devices (which follow a similar
rule):
#ifdef CONFIG_DEVFS_FS
cy_callout_driver.name = "cua/C";
#else
cy_callout_driver.name = "cub";
#endif
This would apply for other drivers as well, just replacing the 'C'
by the proper letter.
So, what do you think?!?!?
Later,
--
Ivan Passos -o)
Integration Manager, Cyclades - http://www.cyclades.com /\\
Project Leader, NetLinOS - http://www.netlinos.org _\_V
--------------------------------------------------------------------
next prev parent reply other threads:[~2002-01-08 18:44 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-01-03 2:07 Serial Driver Name Question (kernels 2.4.x) Ivan Passos
2002-01-03 4:40 ` Andrew Morton
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:36 ` Alan Cox
2002-01-06 20:27 ` Richard Gooch
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
2002-01-10 9:14 ` Nick Craig-Wood
2002-01-08 18:47 ` Ivan Passos [this message]
2002-01-03 16:32 ` 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=3C3B3EDC.C59D48C8@cyclades.com \
--to=ivan@cyclades.com \
--cc=akpm@zip.com.au \
--cc=linux-kernel@vger.kernel.org \
--cc=rgooch@ras.ucalgary.ca \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.