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" |
244 | depends on TTY | ||
240 | select SERIO | 245 | select SERIO |
241 | help | 246 | help |
242 | Say Y here if you have the Fujitsu touchscreen (such as one | 247 | Say Y here if you have the Fujitsu touchscreen (such as one |
@@ -275,6 +280,8 @@ config TOUCHSCREEN_S3C2410 | |||
275 | To compile this driver as a module, choose M here: the | 280 | To compile this driver as a module, choose M here: the |
276 | module will be called s3c2410_ts. | 281 | module will be called s3c2410_ts. |
277 | 282 | ||
283 | if TTY | ||
284 | |||
278 | config TOUCHSCREEN_GUNZE | 285 | config TOUCHSCREEN_GUNZE |
279 | tristate "Gunze AHL-51S touchscreen" | 286 | tristate "Gunze AHL-51S touchscreen" |
280 | select SERIO | 287 | select SERIO |
@@ -311,6 +318,8 @@ config TOUCHSCREEN_WACOM_W8001 | |||
311 | To compile this driver as a module, choose M here: the | 318 | To compile this driver as a module, choose M here: the |
312 | module will be called wacom_w8001. | 319 | module will be called wacom_w8001. |
313 | 320 | ||
321 | endif # TTY | ||
322 | |||
314 | config TOUCHSCREEN_WACOM_I2C | 323 | config TOUCHSCREEN_WACOM_I2C |
315 | tristate "Wacom Tablet support (I2C)" | 324 | tristate "Wacom Tablet support (I2C)" |
316 | depends on I2C | 325 | depends on I2C |
@@ -369,6 +378,8 @@ config TOUCHSCREEN_MMS114 | |||
369 | To compile this driver as a module, choose M here: the | 378 | To compile this driver as a module, choose M here: the |
370 | module will be called mms114. | 379 | module will be called mms114. |
371 | 380 | ||
381 | if TTY | ||
382 | |||
372 | config TOUCHSCREEN_MTOUCH | 383 | config TOUCHSCREEN_MTOUCH |
373 | tristate "MicroTouch serial touchscreens" | 384 | tristate "MicroTouch serial touchscreens" |
374 | select SERIO | 385 | select SERIO |
@@ -393,6 +404,8 @@ config TOUCHSCREEN_INEXIO | |||
393 | To compile this driver as a module, choose M here: the | 404 | To compile this driver as a module, choose M here: the |
394 | module will be called inexio. | 405 | module will be called inexio. |
395 | 406 | ||
407 | endif # TTY | ||
408 | |||
396 | config TOUCHSCREEN_INTEL_MID | 409 | config TOUCHSCREEN_INTEL_MID |
397 | tristate "Intel MID platform resistive touchscreen" | 410 | tristate "Intel MID platform resistive touchscreen" |
398 | depends on INTEL_SCU_IPC | 411 | depends on INTEL_SCU_IPC |
@@ -450,6 +463,7 @@ config TOUCHSCREEN_HTCPEN | |||
450 | 463 | ||
451 | config TOUCHSCREEN_PENMOUNT | 464 | config TOUCHSCREEN_PENMOUNT |
452 | tristate "Penmount serial touchscreen" | 465 | tristate "Penmount serial touchscreen" |
466 | depends on TTY | ||
453 | select SERIO | 467 | select SERIO |
454 | help | 468 | help |
455 | Say Y here if you have a Penmount serial touchscreen connected to | 469 | Say Y here if you have a Penmount serial touchscreen connected to |
@@ -493,6 +507,8 @@ config TOUCHSCREEN_TNETV107X | |||
493 | To compile this driver as a module, choose M here: the | 507 | To compile this driver as a module, choose M here: the |
494 | module will be called tnetv107x-ts. | 508 | module will be called tnetv107x-ts. |
495 | 509 | ||
510 | if TTY | ||
511 | |||
496 | config TOUCHSCREEN_TOUCHRIGHT | 512 | config TOUCHSCREEN_TOUCHRIGHT |
497 | tristate "Touchright serial touchscreen" | 513 | tristate "Touchright serial touchscreen" |
498 | select SERIO | 514 | select SERIO |
@@ -517,6 +533,8 @@ config TOUCHSCREEN_TOUCHWIN | |||
517 | To compile this driver as a module, choose M here: the | 533 | To compile this driver as a module, choose M here: the |
518 | module will be called touchwin. | 534 | module will be called touchwin. |
519 | 535 | ||
536 | endif # TTY | ||
537 | |||
520 | config TOUCHSCREEN_TI_AM335X_TSC | 538 | config TOUCHSCREEN_TI_AM335X_TSC |
521 | tristate "TI Touchscreen Interface" | 539 | tristate "TI Touchscreen Interface" |
522 | depends on MFD_TI_AM335X_TSCADC | 540 | depends on MFD_TI_AM335X_TSCADC |
@@ -790,6 +808,8 @@ config TOUCHSCREEN_USB_EASYTOUCH | |||
790 | Say Y here if you have an EasyTouch USB Touch controller. | 808 | Say Y here if you have an EasyTouch USB Touch controller. |
791 | If unsure, say N. | 809 | If unsure, say N. |
792 | 810 | ||
811 | if TTY | ||
812 | |||
793 | config TOUCHSCREEN_TOUCHIT213 | 813 | config TOUCHSCREEN_TOUCHIT213 |
794 | tristate "Sahara TouchIT-213 touchscreen" | 814 | tristate "Sahara TouchIT-213 touchscreen" |
795 | select SERIO | 815 | select SERIO |
@@ -813,6 +833,8 @@ config TOUCHSCREEN_TSC_SERIO | |||
813 | To compile this driver as a module, choose M here: the | 833 | To compile this driver as a module, choose M here: the |
814 | module will be called tsc40. | 834 | module will be called tsc40. |
815 | 835 | ||
836 | endif # TTY | ||
837 | |||
816 | config TOUCHSCREEN_TSC2005 | 838 | config TOUCHSCREEN_TSC2005 |
817 | tristate "TSC2005 based touchscreens" | 839 | tristate "TSC2005 based touchscreens" |
818 | depends on SPI_MASTER && GENERIC_HARDIRQS | 840 | depends on SPI_MASTER && GENERIC_HARDIRQS |