Signed-off-by: Andrew Morton --- Documentation/kernel-parameters.txt | 4 ++++ drivers/char/pty.c | 9 +++++++-- include/linux/tty.h | 1 - 3 files changed, 11 insertions(+), 3 deletions(-) diff -puN Documentation/kernel-parameters.txt~gregkh-driver-ptycount-parm Documentation/kernel-parameters.txt --- a/Documentation/kernel-parameters.txt~gregkh-driver-ptycount-parm +++ a/Documentation/kernel-parameters.txt @@ -1437,6 +1437,10 @@ and is between 256 and 4096 characters. 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] diff -puN drivers/char/pty.c~gregkh-driver-ptycount-parm drivers/char/pty.c --- a/drivers/char/pty.c~gregkh-driver-ptycount-parm +++ a/drivers/char/pty.c @@ -248,14 +248,19 @@ static int pty_bsd_ioctl(struct tty_stru 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"); diff -puN include/linux/tty.h~gregkh-driver-ptycount-parm include/linux/tty.h --- a/include/linux/tty.h~gregkh-driver-ptycount-parm +++ a/include/linux/tty.h @@ -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 _