+++ /dev/null
-Subject: tiocgdev ioctl
-Patch-mainline: never, lkml guys don't like it
-From: kraxel@suse.de
-
-add tty ioctl to figure physical device of the console.
-
- arch/alpha/include/asm/ioctls.h | 1 +
- arch/arm/include/asm/ioctls.h | 1 +
- arch/ia64/include/asm/ioctls.h | 1 +
- arch/powerpc/include/asm/ioctls.h | 1 +
- arch/s390/include/asm/ioctls.h | 1 +
- arch/sh/include/asm/ioctls.h | 1 +
- arch/sparc/include/asm/ioctls.h | 1 +
- drivers/char/tty_io.c | 15 +++++++++++++++
- fs/compat_ioctl.c | 1 +
- include/asm-m68k/ioctls.h | 1 +
- include/asm-mips/ioctls.h | 1 +
- include/asm-x86/ioctls.h | 1 +
- 12 files changed, 26 insertions(+)
-
---- a/arch/alpha/include/asm/ioctls.h
-+++ b/arch/alpha/include/asm/ioctls.h
-@@ -91,6 +91,7 @@
- #define TIOCGSID 0x5429 /* Return the session ID of FD */
- #define TIOCGPTN _IOR('T',0x30, unsigned int) /* Get Pty Number (of pty-mux device) */
- #define TIOCSPTLCK _IOW('T',0x31, int) /* Lock/unlock Pty */
-+#define TIOCGDEV _IOR('T',0x32, unsigned int) /* Get real dev no below /dev/console */
-
- #define TIOCSERCONFIG 0x5453
- #define TIOCSERGWILD 0x5454
---- a/arch/arm/include/asm/ioctls.h
-+++ b/arch/arm/include/asm/ioctls.h
-@@ -52,6 +52,7 @@
- #define TCSETSF2 _IOW('T',0x2D, struct termios2)
- #define TIOCGPTN _IOR('T',0x30, unsigned int) /* Get Pty Number (of pty-mux device) */
- #define TIOCSPTLCK _IOW('T',0x31, int) /* Lock/unlock Pty */
-+#define TIOCGDEV _IOR('T',0x32, unsigned int) /* Get real dev no below /dev/console */
-
- #define FIONCLEX 0x5450 /* these numbers need to be adjusted. */
- #define FIOCLEX 0x5451
---- a/arch/ia64/include/asm/ioctls.h
-+++ b/arch/ia64/include/asm/ioctls.h
-@@ -59,6 +59,7 @@
- #define TCSETSF2 _IOW('T',0x2D, struct termios2)
- #define TIOCGPTN _IOR('T',0x30, unsigned int) /* Get Pty Number (of pty-mux device) */
- #define TIOCSPTLCK _IOW('T',0x31, int) /* Lock/unlock Pty */
-+#define TIOCGDEV _IOR('T',0x32, unsigned int) /* Get real dev no below /dev/console */
-
- #define FIONCLEX 0x5450 /* these numbers need to be adjusted. */
- #define FIOCLEX 0x5451
---- a/arch/powerpc/include/asm/ioctls.h
-+++ b/arch/powerpc/include/asm/ioctls.h
-@@ -91,6 +91,7 @@
- #define TIOCGSID 0x5429 /* Return the session ID of FD */
- #define TIOCGPTN _IOR('T',0x30, unsigned int) /* Get Pty Number (of pty-mux device) */
- #define TIOCSPTLCK _IOW('T',0x31, int) /* Lock/unlock Pty */
-+#define TIOCGDEV _IOR('T',0x32, unsigned int) /* Get real dev no below /dev/console */
-
- #define TIOCSERCONFIG 0x5453
- #define TIOCSERGWILD 0x5454
---- a/arch/s390/include/asm/ioctls.h
-+++ b/arch/s390/include/asm/ioctls.h
-@@ -60,6 +60,7 @@
- #define TCSETSF2 _IOW('T',0x2D, struct termios2)
- #define TIOCGPTN _IOR('T',0x30, unsigned int) /* Get Pty Number (of pty-mux device) */
- #define TIOCSPTLCK _IOW('T',0x31, int) /* Lock/unlock Pty */
-+#define TIOCGDEV _IOR('T',0x32, unsigned int) /* Get real dev no below /dev/console */
-
- #define FIONCLEX 0x5450 /* these numbers need to be adjusted. */
- #define FIOCLEX 0x5451
---- a/arch/sh/include/asm/ioctls.h
-+++ b/arch/sh/include/asm/ioctls.h
-@@ -84,6 +84,7 @@
- #define TCSETSF2 _IOW('T', 45, struct termios2)
- #define TIOCGPTN _IOR('T',0x30, unsigned int) /* Get Pty Number (of pty-mux device) */
- #define TIOCSPTLCK _IOW('T',0x31, int) /* Lock/unlock Pty */
-+#define TIOCGDEV _IOR('T',0x32, unsigned int) /* Get real dev no below /dev/console */
-
- #define TIOCSERCONFIG _IO('T', 83) /* 0x5453 */
- #define TIOCSERGWILD _IOR('T', 84, int) /* 0x5454 */
---- a/arch/sparc/include/asm/ioctls.h
-+++ b/arch/sparc/include/asm/ioctls.h
-@@ -19,6 +19,7 @@
- #define TCSETS2 _IOW('T', 13, struct termios2)
- #define TCSETSW2 _IOW('T', 14, struct termios2)
- #define TCSETSF2 _IOW('T', 15, struct termios2)
-+#define TIOCGDEV _IOR('T',0x32, unsigned int) /* Get real dev no below /dev/console */
-
- /* Note that all the ioctls that are not available in Linux have a
- * double underscore on the front to: a) avoid some programs to
---- a/drivers/char/tty_io.c
-+++ b/drivers/char/tty_io.c
-@@ -3031,6 +3031,21 @@ long tty_ioctl(struct file *file, unsign
- return tioclinux(tty, arg);
- #endif
- /*
-+ * Without the real device to which /dev/console is connected,
-+ * blogd can not work.
-+ * blogd spawns a pty/tty pair,
-+ * set /dev/console to the tty of that pair (ioctl TIOCCONS),
-+ * then reads in all input from the current /dev/console,
-+ * buffer or write the readed data to /var/log/boot.msg
-+ * _and_ to the original real device.
-+ */
-+ case TIOCGDEV:
-+ {
-+ unsigned int ret = new_encode_dev(tty_devnum(real_tty));
-+ return put_user(ret, (unsigned int __user *)p);
-+ }
-+
-+ /*
- * Break handling
- */
- case TIOCSBRK: /* Turn break on, unconditionally */
---- a/fs/compat_ioctl.c
-+++ b/fs/compat_ioctl.c
-@@ -1871,6 +1871,7 @@ COMPATIBLE_IOCTL(TCSETSW)
- COMPATIBLE_IOCTL(TCSETSF)
- COMPATIBLE_IOCTL(TIOCLINUX)
- COMPATIBLE_IOCTL(TIOCSBRK)
-+COMPATIBLE_IOCTL(TIOCGDEV)
- COMPATIBLE_IOCTL(TIOCCBRK)
- ULONG_IOCTL(TIOCMIWAIT)
- COMPATIBLE_IOCTL(TIOCGICOUNT)
---- a/include/asm-m68k/ioctls.h
-+++ b/include/asm-m68k/ioctls.h
-@@ -52,6 +52,7 @@
- #define TCSETSF2 _IOW('T',0x2D, struct termios2)
- #define TIOCGPTN _IOR('T',0x30, unsigned int) /* Get Pty Number (of pty-mux device) */
- #define TIOCSPTLCK _IOW('T',0x31, int) /* Lock/unlock Pty */
-+#define TIOCGDEV _IOR('T',0x32, unsigned int) /* Get real dev no below /dev/console */
-
- #define FIONCLEX 0x5450 /* these numbers need to be adjusted. */
- #define FIOCLEX 0x5451
---- a/include/asm-mips/ioctls.h
-+++ b/include/asm-mips/ioctls.h
-@@ -83,6 +83,7 @@
- #define TCSETSF2 _IOW('T', 0x2D, struct termios2)
- #define TIOCGPTN _IOR('T', 0x30, unsigned int) /* Get Pty Number (of pty-mux device) */
- #define TIOCSPTLCK _IOW('T', 0x31, int) /* Lock/unlock Pty */
-+#define TIOCGDEV _IOR('T', 0x32, unsigned int) /* Get real dev no below /dev/console */
-
- /* I hope the range from 0x5480 on is free ... */
- #define TIOCSCTTY 0x5480 /* become controlling tty */
---- a/include/asm-x86/ioctls.h
-+++ b/include/asm-x86/ioctls.h
-@@ -54,6 +54,7 @@
- #define TIOCGPTN _IOR('T', 0x30, unsigned int)
- /* Get Pty Number (of pty-mux device) */
- #define TIOCSPTLCK _IOW('T', 0x31, int) /* Lock/unlock Pty */
-+#define TIOCGDEV _IOR('T', 0x32, unsigned int) /* Get real dev no below /dev/console */
-
- #define FIONCLEX 0x5450
- #define FIOCLEX 0x5451