diff options
| author | Joe Millenbach <jmillenbach@gmail.com> | 2013-01-18 01:44:22 -0500 |
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2013-01-18 19:15:27 -0500 |
| commit | 4f73bc4dd3e8563ef4109f293a092820dff66d92 (patch) | |
| tree | 8ebd5d01abaceb70da1932db1a5e7219630b0fd3 /drivers/input | |
| parent | a1bf9584429d61b7096f93ae09325e1ba538e9e8 (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/Kconfig | 4 | ||||
| -rw-r--r-- | drivers/input/keyboard/Kconfig | 10 | ||||
| -rw-r--r-- | drivers/input/mouse/Kconfig | 3 | ||||
| -rw-r--r-- | drivers/input/serio/Kconfig | 1 | ||||
| -rw-r--r-- | drivers/input/touchscreen/Kconfig | 22 |
5 files changed, 39 insertions, 1 deletions
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 | |||
| 132 | 132 | ||
| 133 | source "drivers/input/joystick/iforce/Kconfig" | 133 | source "drivers/input/joystick/iforce/Kconfig" |
| 134 | 134 | ||
| 135 | if TTY | ||
| 136 | |||
| 135 | config JOYSTICK_WARRIOR | 137 | config JOYSTICK_WARRIOR |
| 136 | tristate "Logitech WingMan Warrior joystick" | 138 | tristate "Logitech WingMan Warrior joystick" |
| 137 | select SERIO | 139 | select SERIO |
| @@ -205,6 +207,8 @@ config JOYSTICK_ZHENHUA | |||
| 205 | To compile this driver as a module, choose M here: the | 207 | To compile this driver as a module, choose M here: the |
| 206 | module will be called zhenhua. | 208 | module will be called zhenhua. |
| 207 | 209 | ||
| 210 | endif # TTY | ||
| 211 | |||
| 208 | config JOYSTICK_DB9 | 212 | config JOYSTICK_DB9 |
| 209 | tristate "Multisystem, Sega Genesis, Saturn joysticks and gamepads" | 213 | tristate "Multisystem, Sega Genesis, Saturn joysticks and gamepads" |
| 210 | depends on PARPORT | 214 | 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 | |||
| 69 | config KEYBOARD_ATKBD | 69 | config KEYBOARD_ATKBD |
| 70 | tristate "AT keyboard" if EXPERT || !X86 | 70 | tristate "AT keyboard" if EXPERT || !X86 |
| 71 | default y | 71 | default y |
| 72 | depends on TTY | ||
| 72 | select SERIO | 73 | select SERIO |
| 73 | select SERIO_LIBPS2 | 74 | select SERIO_LIBPS2 |
| 74 | select SERIO_I8042 if X86 | 75 | select SERIO_I8042 if X86 |
| @@ -153,6 +154,7 @@ config KEYBOARD_BFIN | |||
| 153 | 154 | ||
| 154 | config KEYBOARD_LKKBD | 155 | config KEYBOARD_LKKBD |
| 155 | tristate "DECstation/VAXstation LK201/LK401 keyboard" | 156 | tristate "DECstation/VAXstation LK201/LK401 keyboard" |
| 157 | depends on TTY | ||
| 156 | select SERIO | 158 | select SERIO |
| 157 | help | 159 | help |
| 158 | Say Y here if you want to use a LK201 or LK401 style serial | 160 | Say Y here if you want to use a LK201 or LK401 style serial |
| @@ -268,7 +270,7 @@ config KEYBOARD_HIL_OLD | |||
| 268 | 270 | ||
| 269 | config KEYBOARD_HIL | 271 | config KEYBOARD_HIL |
| 270 | tristate "HP HIL keyboard/pointer support" | 272 | tristate "HP HIL keyboard/pointer support" |
| 271 | depends on GSC || HP300 | 273 | depends on (GSC || HP300) && TTY |
| 272 | default y | 274 | default y |
| 273 | select HP_SDC | 275 | select HP_SDC |
| 274 | select HIL_MLC | 276 | select HIL_MLC |
| @@ -400,6 +402,7 @@ config KEYBOARD_IMX | |||
| 400 | 402 | ||
| 401 | config KEYBOARD_NEWTON | 403 | config KEYBOARD_NEWTON |
| 402 | tristate "Newton keyboard" | 404 | tristate "Newton keyboard" |
| 405 | depends on TTY | ||
| 403 | select SERIO | 406 | select SERIO |
| 404 | help | 407 | help |
| 405 | Say Y here if you have a Newton keyboard on a serial port. | 408 | Say Y here if you have a Newton keyboard on a serial port. |
| @@ -479,6 +482,8 @@ config KEYBOARD_SAMSUNG | |||
| 479 | To compile this driver as a module, choose M here: the | 482 | To compile this driver as a module, choose M here: the |
| 480 | module will be called samsung-keypad. | 483 | module will be called samsung-keypad. |
| 481 | 484 | ||
| 485 | if TTY | ||
| 486 | |||
| 482 | config KEYBOARD_STOWAWAY | 487 | config KEYBOARD_STOWAWAY |
| 483 | tristate "Stowaway keyboard" | 488 | tristate "Stowaway keyboard" |
| 484 | select SERIO | 489 | select SERIO |
| @@ -501,6 +506,8 @@ config KEYBOARD_SUNKBD | |||
| 501 | To compile this driver as a module, choose M here: the | 506 | To compile this driver as a module, choose M here: the |
| 502 | module will be called sunkbd. | 507 | module will be called sunkbd. |
| 503 | 508 | ||
| 509 | endif # TTY | ||
| 510 | |||
| 504 | config KEYBOARD_SH_KEYSC | 511 | config KEYBOARD_SH_KEYSC |
| 505 | tristate "SuperH KEYSC keypad support" | 512 | tristate "SuperH KEYSC keypad support" |
| 506 | depends on SUPERH || ARCH_SHMOBILE | 513 | depends on SUPERH || ARCH_SHMOBILE |
| @@ -597,6 +604,7 @@ config KEYBOARD_TWL4030 | |||
| 597 | 604 | ||
| 598 | config KEYBOARD_XTKBD | 605 | config KEYBOARD_XTKBD |
| 599 | tristate "XT keyboard" | 606 | tristate "XT keyboard" |
| 607 | depends on TTY | ||
| 600 | select SERIO | 608 | select SERIO |
| 601 | help | 609 | help |
| 602 | Say Y here if you want to use the old IBM PC/XT keyboard (or | 610 | 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 | |||
| 14 | 14 | ||
| 15 | config MOUSE_PS2 | 15 | config MOUSE_PS2 |
| 16 | tristate "PS/2 mouse" | 16 | tristate "PS/2 mouse" |
| 17 | depends on TTY | ||
| 17 | default y | 18 | default y |
| 18 | select SERIO | 19 | select SERIO |
| 19 | select SERIO_LIBPS2 | 20 | select SERIO_LIBPS2 |
| @@ -138,6 +139,7 @@ config MOUSE_PS2_OLPC | |||
| 138 | 139 | ||
| 139 | config MOUSE_SERIAL | 140 | config MOUSE_SERIAL |
| 140 | tristate "Serial mouse" | 141 | tristate "Serial mouse" |
| 142 | depends on TTY | ||
| 141 | select SERIO | 143 | select SERIO |
| 142 | help | 144 | help |
| 143 | Say Y here if you have a serial (RS-232, COM port) mouse connected | 145 | Say Y here if you have a serial (RS-232, COM port) mouse connected |
| @@ -262,6 +264,7 @@ config MOUSE_RISCPC | |||
| 262 | 264 | ||
| 263 | config MOUSE_VSXXXAA | 265 | config MOUSE_VSXXXAA |
| 264 | tristate "DEC VSXXX-AA/GA mouse and VSXXX-AB tablet" | 266 | tristate "DEC VSXXX-AA/GA mouse and VSXXX-AB tablet" |
| 267 | depends on TTY | ||
| 265 | select SERIO | 268 | select SERIO |
| 266 | help | 269 | help |
| 267 | Say Y (or M) if you want to use a DEC VSXXX-AA (hockey | 270 | 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 @@ | |||
| 4 | config SERIO | 4 | config SERIO |
| 5 | tristate "Serial I/O support" if EXPERT || !X86 | 5 | tristate "Serial I/O support" if EXPERT || !X86 |
| 6 | default y | 6 | default y |
| 7 | depends on TTY | ||
| 7 | help | 8 | help |
| 8 | Say Yes here if you have any input device that uses serial I/O to | 9 | Say Yes here if you have any input device that uses serial I/O to |
| 9 | communicate with the system. This includes the | 10 | 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 | |||
| 192 | To compile this driver as a module, choose M here: the | 192 | To compile this driver as a module, choose M here: the |
| 193 | module will be called da9052_tsi. | 193 | module will be called da9052_tsi. |
| 194 | 194 | ||
| 195 | if TTY | ||
| 196 | |||
| 195 | config TOUCHSCREEN_DYNAPRO | 197 | config TOUCHSCREEN_DYNAPRO |
| 196 | tristate "Dynapro serial touchscreen" | 198 | tristate "Dynapro serial touchscreen" |
| 197 | select SERIO | 199 | select SERIO |
| @@ -216,6 +218,8 @@ config TOUCHSCREEN_HAMPSHIRE | |||
| 216 | To compile this driver as a module, choose M here: the | 218 | To compile this driver as a module, choose M here: the |
| 217 | module will be called hampshire. | 219 | module will be called hampshire. |
| 218 | 220 | ||
| 221 | endif # TTY | ||
| 222 | |||
| 219 | config TOUCHSCREEN_EETI | 223 | config TOUCHSCREEN_EETI |
| 220 | tristate "EETI touchscreen panel support" | 224 | tristate "EETI touchscreen panel support" |
| 221 | depends on I2C | 225 | depends on I2C |
| @@ -237,6 +241,7 @@ config TOUCHSCREEN_EGALAX | |||
| 237 | 241 | ||
| 238 | config TOUCHSCREEN_FUJITSU | 242 | config TOUCHSCREEN_FUJITSU |
| 239 | tristate "Fujitsu serial touchscreen" | 243 | tristate "Fujitsu serial touchscreen" |
