aboutsummaryrefslogtreecommitdiff
path: root/drivers/input
diff options
context:
space:
mode:
authorJoe Millenbach <jmillenbach@gmail.com>2013-01-17 22:44:22 -0800
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2013-01-18 16:15:27 -0800
commit4f73bc4dd3e8563ef4109f293a092820dff66d92 (patch)
tree8ebd5d01abaceb70da1932db1a5e7219630b0fd3 /drivers/input
parenta1bf9584429d61b7096f93ae09325e1ba538e9e8 (diff)
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 <jmillenbach@gmail.com> Reviewed-by: Jamey Sharp <jamey@minilop.net> Reviewed-by: Josh Triplett <josh@joshtriplett.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/input')
-rw-r--r--drivers/input/joystick/Kconfig4
-rw-r--r--drivers/input/keyboard/Kconfig10
-rw-r--r--drivers/input/mouse/Kconfig3
-rw-r--r--drivers/input/serio/Kconfig1
-rw-r--r--drivers/input/touchscreen/Kconfig22
5 files changed, 39 insertions, 1 deletions
diff --git a/drivers/input/joystick/Kconfig b/drivers/input/joystick/Kconfig
index 56eb471b557..055bcaba774 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 5a240c60342..008f96aaf19 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 cd6268cf7cd..fc160f72dc4 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 4a4e182c33e..81ee7551148 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 515cfe79054..3d6f548dd3d 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