From: Olaf Hering <olh@suse.de>
To: Greg KH <greg@kroah.com>
Cc: linux-kernel@vger.kernel.org
Subject: [PATCH] export legacy pty info via sysfs
Date: Tue, 10 Aug 2004 15:54:02 +0200 [thread overview]
Message-ID: <20040810135402.GA5459@suse.de> (raw)
You missed that one last year.
export the legacy pty/tty device nodes via sysfs,
so udev has a chance to create them if /dev is in tmpfs.
Signed-off-by: Olaf Hering <olh@suse.de>
diff -purN linux-2.6.8-rc4.orig/drivers/char/tty_io.c linux-2.6.8-rc4/drivers/char/tty_io.c
--- linux-2.6.8-rc4.orig/drivers/char/tty_io.c 2004-08-10 14:01:54.000000000 +0200
+++ linux-2.6.8-rc4/drivers/char/tty_io.c 2004-08-10 14:04:53.230532914 +0200
@@ -749,6 +749,17 @@ ssize_t redirected_tty_write(struct file
return tty_write(file, buf, count, ppos);
}
+static char ptychar[] = "pqrstuvwxyzabcde";
+
+static inline void pty_line_name(struct tty_driver *driver, int index, char *p)
+{
+ int i = index + driver->name_base;
+ /* ->name is initialized to "ttyp", but "tty" is expected */
+ sprintf(p, "%s%c%x",
+ driver->subtype == PTY_TYPE_SLAVE ? "tty" : driver->name,
+ ptychar[i >> 4 & 0xf], i & 0xf);
+}
+
static inline void tty_line_name(struct tty_driver *driver, int index, char *p)
{
sprintf(p, "%s%d", driver->name, index + driver->name_base);
@@ -2154,6 +2165,7 @@ static struct class_simple *tty_class;
void tty_register_device(struct tty_driver *driver, unsigned index,
struct device *device)
{
+ char name[64];
dev_t dev = MKDEV(driver->major, driver->minor_start) + index;
if (index >= driver->num) {
@@ -2165,13 +2177,11 @@ void tty_register_device(struct tty_driv
devfs_mk_cdev(dev, S_IFCHR | S_IRUSR | S_IWUSR,
"%s%d", driver->devfs_name, index + driver->name_base);
- /* we don't care about the ptys */
- /* how nice to hide this behind some crappy interface.. */
- if (driver->type != TTY_DRIVER_TYPE_PTY) {
- char name[64];
+ if (driver->type == TTY_DRIVER_TYPE_PTY)
+ pty_line_name(driver, index, name);
+ else
tty_line_name(driver, index, name);
- class_simple_device_add(tty_class, dev, device, name);
- }
+ class_simple_device_add(tty_class, dev, device, name);
}
/**
--
USB is for mice, FireWire is for men!
sUse lINUX ag, nÜRNBERG
next reply other threads:[~2004-08-10 15:44 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-08-10 13:54 Olaf Hering [this message]
2004-08-10 23:28 ` [PATCH] export legacy pty info via sysfs Greg KH
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=20040810135402.GA5459@suse.de \
--to=olh@suse.de \
--cc=greg@kroah.com \
--cc=linux-kernel@vger.kernel.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 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.