From 4f73bc4dd3e8563ef4109f293a092820dff66d92 Mon Sep 17 00:00:00 2001 From: Joe Millenbach Date: Thu, 17 Jan 2013 22:44:22 -0800 Subject: tty: Added a CONFIG_TTY option to allow removal of TTY The option allows you to remove TTY and compile without errors. This saves space on systems that won't support TTY interfaces anyway. bloat-o-meter output is below. The bulk of this patch consists of Kconfig changes adding "depends on TTY" to various serial devices and similar drivers that require the TTY layer. Ideally, these dependencies would occur on a common intermediate symbol such as SERIO, but most drivers "select SERIO" rather than "depends on SERIO", and "select" does not respect dependencies. bloat-o-meter output comparing our previous minimal to new minimal by removing TTY. The list is filtered to not show removed entries with awk '$3 != "-"' as the list was very long. add/remove: 0/226 grow/shrink: 2/14 up/down: 6/-35356 (-35350) function old new delta chr_dev_init 166 170 +4 allow_signal 80 82 +2 static.__warned 143 142 -1 disallow_signal 63 62 -1 __set_special_pids 95 94 -1 unregister_console 126 121 -5 start_kernel 546 541 -5 register_console 593 588 -5 copy_from_user 45 40 -5 sys_setsid 128 120 -8 sys_vhangup 32 19 -13 do_exit 1543 1526 -17 bitmap_zero 60 40 -20 arch_local_irq_save 137 117 -20 release_task 674 652 -22 static.spin_unlock_irqrestore 308 260 -48 Signed-off-by: Joe Millenbach Reviewed-by: Jamey Sharp Reviewed-by: Josh Triplett Signed-off-by: Greg Kroah-Hartman --- drivers/input/joystick/Kconfig | 4 ++++ drivers/input/keyboard/Kconfig | 10 +++++++++- drivers/input/mouse/Kconfig | 3 +++ drivers/input/serio/Kconfig | 1 + drivers/input/touchscreen/Kconfig | 22 ++++++++++++++++++++++ 5 files changed, 39 insertions(+), 1 deletion(-) (limited to 'drivers/input') diff --git a/drivers/input/joystick/Kconfig b/drivers/input/joystick/Kconfig index 56eb471b5576..055bcaba774c 100644 --- a/drivers/input/joystick/Kconfig +++ b/drivers/input/joystick/Kconfig @@ -132,6 +132,8 @@ config JOYSTICK_TMDC source "drivers/input/joystick/iforce/Kconfig" +if TTY + config JOYSTICK_WARRIOR tristate "Logitech WingMan Warrior joystick" select SERIO @@ -205,6 +207,8 @@ config JOYSTICK_ZHENHUA To compile this driver as a module, choose M here: the module will be called zhenhua. +endif # TTY + config JOYSTICK_DB9 tristate "Multisystem, Sega Genesis, Saturn joysticks and gamepads" depends on PARPORT diff --git a/drivers/input/keyboard/Kconfig b/drivers/input/keyboard/Kconfig index 5a240c60342d..008f96aaf19e 100644 --- a/drivers/input/keyboard/Kconfig +++ b/drivers/input/keyboard/Kconfig @@ -69,6 +69,7 @@ config KEYBOARD_ATARI config KEYBOARD_ATKBD tristate "AT keyboard" if EXPERT || !X86 default y + depends on TTY select SERIO select SERIO_LIBPS2 select SERIO_I8042 if X86 @@ -153,6 +154,7 @@ config KEYBOARD_BFIN config KEYBOARD_LKKBD tristate "DECstation/VAXstation LK201/LK401 keyboard" + depends on TTY select SERIO help Say Y here if you want to use a LK201 or LK401 style serial @@ -268,7 +270,7 @@ config KEYBOARD_HIL_OLD config KEYBOARD_HIL tristate "HP HIL keyboard/pointer support" - depends on GSC || HP300 + depends on (GSC || HP300) && TTY default y select HP_SDC select HIL_MLC @@ -400,6 +402,7 @@ config KEYBOARD_IMX config KEYBOARD_NEWTON tristate "Newton keyboard" + depends on TTY select SERIO help Say Y here if you have a Newton keyboard on a serial port. @@ -479,6 +482,8 @@ config KEYBOARD_SAMSUNG To compile this driver as a module, choose M here: the module will be called samsung-keypad. +if TTY + config KEYBOARD_STOWAWAY tristate "Stowaway keyboard" select SERIO @@ -501,6 +506,8 @@ config KEYBOARD_SUNKBD To compile this driver as a module, choose M here: the module will be called sunkbd. +endif # TTY + config KEYBOARD_SH_KEYSC tristate "SuperH KEYSC keypad support" depends on SUPERH || ARCH_SHMOBILE @@ -597,6 +604,7 @@ config KEYBOARD_TWL4030 config KEYBOARD_XTKBD tristate "XT keyboard" + depends on TTY select SERIO help Say Y here if you want to use the old IBM PC/XT keyboard (or diff --git a/drivers/input/mouse/Kconfig b/drivers/input/mouse/Kconfig index cd6268cf7cd5..fc160f72dc4e 100644 --- a/drivers/input/mouse/Kconfig +++ b/drivers/input/mouse/Kconfig @@ -14,6 +14,7 @@ if INPUT_MOUSE config MOUSE_PS2 tristate "PS/2 mouse" + depends on TTY default y select SERIO select SERIO_LIBPS2 @@ -138,6 +139,7 @@ config MOUSE_PS2_OLPC config MOUSE_SERIAL tristate "Serial mouse" + depends on TTY select SERIO help Say Y here if you have a serial (RS-232, COM port) mouse connected @@ -262,6 +264,7 @@ config MOUSE_RISCPC config MOUSE_VSXXXAA tristate "DEC VSXXX-AA/GA mouse and VSXXX-AB tablet" + depends on TTY select SERIO help Say Y (or M) if you want to use a DEC VSXXX-AA (hockey diff --git a/drivers/input/serio/Kconfig b/drivers/input/serio/Kconfig index 4a4e182c33e7..81ee7551148e 100644 --- a/drivers/input/serio/Kconfig +++ b/drivers/input/serio/Kconfig @@ -4,6 +4,7 @@ config SERIO tristate "Serial I/O support" if EXPERT || !X86 default y + depends on TTY help Say Yes here if you have any input device that uses serial I/O to communicate with the system. This includes the diff --git a/drivers/input/touchscreen/Kconfig b/drivers/input/touchscreen/Kconfig index 515cfe790543..3d6f548dd3d4 100644 --- a/drivers/input/touchscreen/Kconfig +++ b/drivers/input/touchscreen/Kconfig @@ -192,6 +192,8 @@ config TOUCHSCREEN_DA9052 To compile this driver as a module, choose M here: the module will be called da9052_tsi. +if TTY + config TOUCHSCREEN_DYNAPRO tristate "Dynapro serial touchscreen" select SERIO @@ -216,6 +218,8 @@ config TOUCHSCREEN_HAMPSHIRE To compile this driver as a module, choose M here: the module will be called hampshire. +endif # TTY + config TOUCHSCREEN_EETI tristate "EETI touchscreen panel support" depends on I2C @@ -237,6 +241,7 @@ config TOUCHSCREEN_EGALAX config TOUCHSCREEN_FUJITSU tristate "Fujitsu serial touchscreen" + depends on TTY select SERIO help Say Y here if you have the Fujitsu touchscreen (such as one @@ -275,6 +280,8 @@ config TOUCHSCREEN_S3C2410 To compile this driver as a module, choose M here: the module will be called s3c2410_ts. +if TTY + config TOUCHSCREEN_GUNZE tristate "Gunze AHL-51S touchscreen" select SERIO @@ -311,6 +318,8 @@ config TOUCHSCREEN_WACOM_W8001 To compile this driver as a module, choose M here: the module will be called wacom_w8001. +endif # TTY + config TOUCHSCREEN_WACOM_I2C tristate "Wacom Tablet support (I2C)" depends on I2C @@ -369,6 +378,8 @@ config TOUCHSCREEN_MMS114 To compile this driver as a module, choose M here: the module will be called mms114. +if TTY + config TOUCHSCREEN_MTOUCH tristate "MicroTouch serial touchscreens" select SERIO @@ -393,6 +404,8 @@ config TOUCHSCREEN_INEXIO To compile this driver as a module, choose M here: the module will be called inexio. +endif # TTY + config TOUCHSCREEN_INTEL_MID tristate "Intel MID platform resistive touchscreen" depends on INTEL_SCU_IPC @@ -450,6 +463,7 @@ config TOUCHSCREEN_HTCPEN config TOUCHSCREEN_PENMOUNT tristate "Penmount serial touchscreen" + depends on TTY select SERIO help Say Y here if you have a Penmount serial touchscreen connected to @@ -493,6 +507,8 @@ config TOUCHSCREEN_TNETV107X To compile this driver as a module, choose M here: the module will be called tnetv107x-ts. +if TTY + config TOUCHSCREEN_TOUCHRIGHT tristate "Touchright serial touchscreen" select SERIO @@ -517,6 +533,8 @@ config TOUCHSCREEN_TOUCHWIN To compile this driver as a module, choose M here: the module will be called touchwin. +endif # TTY + config TOUCHSCREEN_TI_AM335X_TSC tristate "TI Touchscreen Interface" depends on MFD_TI_AM335X_TSCADC @@ -790,6 +808,8 @@ config TOUCHSCREEN_USB_EASYTOUCH Say Y here if you have an EasyTouch USB Touch controller. If unsure, say N. +if TTY + config TOUCHSCREEN_TOUCHIT213 tristate "Sahara TouchIT-213 touchscreen" select SERIO @@ -813,6 +833,8 @@ config TOUCHSCREEN_TSC_SERIO To compile this driver as a module, choose M here: the module will be called tsc40. +endif # TTY + config TOUCHSCREEN_TSC2005 tristate "TSC2005 based touchscreens" depends on SPI_MASTER && GENERIC_HARDIRQS -- cgit v1.2.3 From 238d9f6e551d87bd6fbcfa3069592dfb407937fb Mon Sep 17 00:00:00 2001 From: Joe Millenbach Date: Tue, 5 Feb 2013 17:58:34 -0800 Subject: input: drop unnecessary dependencies on TTY Backing out changes made in earlier TTY removal patch. Switched to only one dependency in SERPORT on TTY instead of many incorrect dependencies. Signed-off-by: Joe Millenbach Reported-by: Dmitry Torokhov Signed-off-by: Greg Kroah-Hartman --- drivers/input/joystick/Kconfig | 4 ---- drivers/input/keyboard/Kconfig | 10 +--------- drivers/input/mouse/Kconfig | 3 --- drivers/input/serio/Kconfig | 2 +- drivers/input/touchscreen/Kconfig | 22 ---------------------- 5 files changed, 2 insertions(+), 39 deletions(-) (limited to 'drivers/input') diff --git a/drivers/input/joystick/Kconfig b/drivers/input/joystick/Kconfig index 055bcaba774c..56eb471b5576 100644 --- a/drivers/input/joystick/Kconfig +++ b/drivers/input/joystick/Kconfig @@ -132,8 +132,6 @@ config JOYSTICK_TMDC source "drivers/input/joystick/iforce/Kconfig" -if TTY - config JOYSTICK_WARRIOR tristate "Logitech WingMan Warrior joystick" select SERIO @@ -207,8 +205,6 @@ config JOYSTICK_ZHENHUA To compile this driver as a module, choose M here: the module will be called zhenhua. -endif # TTY - config JOYSTICK_DB9 tristate "Multisystem, Sega Genesis, Saturn joysticks and gamepads" depends on PARPORT diff --git a/drivers/input/keyboard/Kconfig b/drivers/input/keyboard/Kconfig index 008f96aaf19e..5a240c60342d 100644 --- a/drivers/input/keyboard/Kconfig +++ b/drivers/input/keyboard/Kconfig @@ -69,7 +69,6 @@ config KEYBOARD_ATARI config KEYBOARD_ATKBD tristate "AT keyboard" if EXPERT || !X86 default y - depends on TTY select SERIO select SERIO_LIBPS2 select SERIO_I8042 if X86 @@ -154,7 +153,6 @@ config KEYBOARD_BFIN config KEYBOARD_LKKBD tristate "DECstation/VAXstation LK201/LK401 keyboard" - depends on TTY select SERIO help Say Y here if you want to use a LK201 or LK401 style serial @@ -270,7 +268,7 @@ config KEYBOARD_HIL_OLD config KEYBOARD_HIL tristate "HP HIL keyboard/pointer support" - depends on (GSC || HP300) && TTY + depends on GSC || HP300 default y select HP_SDC select HIL_MLC @@ -402,7 +400,6 @@ config KEYBOARD_IMX config KEYBOARD_NEWTON tristate "Newton keyboard" - depends on TTY select SERIO help Say Y here if you have a Newton keyboard on a serial port. @@ -482,8 +479,6 @@ config KEYBOARD_SAMSUNG To compile this driver as a module, choose M here: the module will be called samsung-keypad. -if TTY - config KEYBOARD_STOWAWAY tristate "Stowaway keyboard" select SERIO @@ -506,8 +501,6 @@ config KEYBOARD_SUNKBD To compile this driver as a module, choose M here: the module will be called sunkbd. -endif # TTY - config KEYBOARD_SH_KEYSC tristate "SuperH KEYSC keypad support" depends on SUPERH || ARCH_SHMOBILE @@ -604,7 +597,6 @@ config KEYBOARD_TWL4030 config KEYBOARD_XTKBD tristate "XT keyboard" - depends on TTY select SERIO help Say Y here if you want to use the old IBM PC/XT keyboard (or diff --git a/drivers/input/mouse/Kconfig b/drivers/input/mouse/Kconfig index fc160f72dc4e..cd6268cf7cd5 100644 --- a/drivers/input/mouse/Kconfig +++ b/drivers/input/mouse/Kconfig @@ -14,7 +14,6 @@ if INPUT_MOUSE config MOUSE_PS2 tristate "PS/2 mouse" - depends on TTY default y select SERIO select SERIO_LIBPS2 @@ -139,7 +138,6 @@ config MOUSE_PS2_OLPC config MOUSE_SERIAL tristate "Serial mouse" - depends on TTY select SERIO help Say Y here if you have a serial (RS-232, COM port) mouse connected @@ -264,7 +262,6 @@ config MOUSE_RISCPC config MOUSE_VSXXXAA tristate "DEC VSXXX-AA/GA mouse and VSXXX-AB tablet" - depends on TTY select SERIO help Say Y (or M) if you want to use a DEC VSXXX-AA (hockey diff --git a/drivers/input/serio/Kconfig b/drivers/input/serio/Kconfig index 81ee7551148e..fe4e4953d5f5 100644 --- a/drivers/input/serio/Kconfig +++ b/drivers/input/serio/Kconfig @@ -4,7 +4,6 @@ config SERIO tristate "Serial I/O support" if EXPERT || !X86 default y - depends on TTY help Say Yes here if you have any input device that uses serial I/O to communicate with the system. This includes the @@ -37,6 +36,7 @@ config SERIO_I8042 config SERIO_SERPORT tristate "Serial port line discipline" default y + depends on TTY help Say Y here if you plan to use an input device (mouse, joystick, tablet, 6dof) that communicates over the RS232 serial (COM) port. diff --git a/drivers/input/touchscreen/Kconfig b/drivers/input/touchscreen/Kconfig index 3d6f548dd3d4..515cfe790543 100644 --- a/drivers/input/touchscreen/Kconfig +++ b/drivers/input/touchscreen/Kconfig @@ -192,8 +192,6 @@ config TOUCHSCREEN_DA9052 To compile this driver as a module, choose M here: the module will be called da9052_tsi. -if TTY - config TOUCHSCREEN_DYNAPRO tristate "Dynapro serial touchscreen" select SERIO @@ -218,8 +216,6 @@ config TOUCHSCREEN_HAMPSHIRE To compile this driver as a module, choose M here: the module will be called hampshire. -endif # TTY - config TOUCHSCREEN_EETI tristate "EETI touchscreen panel support" depends on I2C @@ -241,7 +237,6 @@ config TOUCHSCREEN_EGALAX config TOUCHSCREEN_FUJITSU tristate "Fujitsu serial touchscreen" - depends on TTY select SERIO help Say Y here if you have the Fujitsu touchscreen (such as one @@ -280,8 +275,6 @@ config TOUCHSCREEN_S3C2410 To compile this driver as a module, choose M here: the module will be called s3c2410_ts. -if TTY - config TOUCHSCREEN_GUNZE tristate "Gunze AHL-51S touchscreen" select SERIO @@ -318,8 +311,6 @@ config TOUCHSCREEN_WACOM_W8001 To compile this driver as a module, choose M here: the module will be called wacom_w8001. -endif # TTY - config TOUCHSCREEN_WACOM_I2C tristate "Wacom Tablet support (I2C)" depends on I2C @@ -378,8 +369,6 @@ config TOUCHSCREEN_MMS114 To compile this driver as a module, choose M here: the module will be called mms114. -if TTY - config TOUCHSCREEN_MTOUCH tristate "MicroTouch serial touchscreens" select SERIO @@ -404,8 +393,6 @@ config TOUCHSCREEN_INEXIO To compile this driver as a module, choose M here: the module will be called inexio. -endif # TTY - config TOUCHSCREEN_INTEL_MID tristate "Intel MID platform resistive touchscreen" depends on INTEL_SCU_IPC @@ -463,7 +450,6 @@ config TOUCHSCREEN_HTCPEN config TOUCHSCREEN_PENMOUNT tristate "Penmount serial touchscreen" - depends on TTY select SERIO help Say Y here if you have a Penmount serial touchscreen connected to @@ -507,8 +493,6 @@ config TOUCHSCREEN_TNETV107X To compile this driver as a module, choose M here: the module will be called tnetv107x-ts. -if TTY - config TOUCHSCREEN_TOUCHRIGHT tristate "Touchright serial touchscreen" select SERIO @@ -533,8 +517,6 @@ config TOUCHSCREEN_TOUCHWIN To compile this driver as a module, choose M here: the module will be called touchwin. -endif # TTY - config TOUCHSCREEN_TI_AM335X_TSC tristate "TI Touchscreen Interface" depends on MFD_TI_AM335X_TSCADC @@ -808,8 +790,6 @@ config TOUCHSCREEN_USB_EASYTOUCH Say Y here if you have an EasyTouch USB Touch controller. If unsure, say N. -if TTY - config TOUCHSCREEN_TOUCHIT213 tristate "Sahara TouchIT-213 touchscreen" select SERIO @@ -833,8 +813,6 @@ config TOUCHSCREEN_TSC_SERIO To compile this driver as a module, choose M here: the module will be called tsc40. -endif # TTY - config TOUCHSCREEN_TSC2005 tristate "TSC2005 based touchscreens" depends on SPI_MASTER && GENERIC_HARDIRQS -- cgit v1.2.3