PTY: add kernel parameter to overwrite legacy pty count
authorKay Sievers <kay.sievers@vrfy.org>
Wed, 15 Aug 2007 10:25:38 +0000 (12:25 +0200)
committerGreg Kroah-Hartman <gregkh@suse.de>
Fri, 12 Oct 2007 21:51:09 +0000 (14:51 -0700)
Signed-off-by: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Documentation/kernel-parameters.txt
drivers/char/pty.c
include/linux/tty.h

index a57c1f216b2154d352b6b3fc9b94a1f47d2cf0b1..bdddd3cd46dd4a1d175be0662dca24e399fefb47 100644 (file)
@@ -1430,6 +1430,10 @@ and is between 256 and 4096 characters. It is defined in the file
        pt.             [PARIDE]
                        See Documentation/paride.txt.
 
+       pty.legacy_count=
+                       [KNL] Number of legacy pty's. Overwrites compiled-in
+                       default number.
+
        quiet           [KNL] Disable most log messages
 
        r128=           [HW,DRM]
index de14aea34e11f215765c8b718efe65ff595e795a..73de77105fea9c9a58c8ed704fab7626b2bfb2d1 100644 (file)
@@ -248,14 +248,19 @@ static int pty_bsd_ioctl(struct tty_struct *tty, struct file *file,
        return -ENOIOCTLCMD;
 }
 
+static int legacy_count = CONFIG_LEGACY_PTY_COUNT;
+module_param(legacy_count, int, 0);
+
 static void __init legacy_pty_init(void)
 {
+       if (legacy_count <= 0)
+               return;
 
-       pty_driver = alloc_tty_driver(NR_PTYS);
+       pty_driver = alloc_tty_driver(legacy_count);
        if (!pty_driver)
                panic("Couldn't allocate pty driver");
 
-       pty_slave_driver = alloc_tty_driver(NR_PTYS);
+       pty_slave_driver = alloc_tty_driver(legacy_count);
        if (!pty_slave_driver)
                panic("Couldn't allocate pty slave driver");
 
index 6570719eafdf8038056e4ba3562b36e2446b7cb9..60478f6e5dc63ee04f305c535f397a98377a82a2 100644 (file)
@@ -21,7 +21,6 @@
  * (Note: the *_driver.minor_start values 1, 64, 128, 192 are
  * hardcoded at present.)
  */
-#define NR_PTYS        CONFIG_LEGACY_PTY_COUNT   /* Number of legacy ptys */
 #define NR_UNIX98_PTY_DEFAULT  4096      /* Default maximum for Unix98 ptys */
 #define NR_UNIX98_PTY_MAX      (1 << MINORBITS) /* Absolute limit */
 #define NR_LDISCS              17