Commit 4f73bc4d authored by Joe Millenbach's avatar Joe Millenbach Committed by Greg Kroah-Hartman
Browse files

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: default avatarJoe Millenbach <jmillenbach@gmail.com>
Reviewed-by: default avatarJamey Sharp <jamey@minilop.net>
Reviewed-by: default avatarJosh Triplett <josh@joshtriplett.org>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent a1bf9584
......@@ -125,6 +125,7 @@ choice
config ALPHA_GENERIC
bool "Generic"
depends on TTY
help
A generic kernel will run on all supported Alpha hardware.
......@@ -491,6 +492,7 @@ config VGA_HOSE
config ALPHA_SRM
bool "Use SRM as bootloader" if ALPHA_CABRIOLET || ALPHA_AVANTI_CH || ALPHA_EB64P || ALPHA_PC164 || ALPHA_TAKARA || ALPHA_EB164 || ALPHA_ALCOR || ALPHA_MIATA || ALPHA_LX164 || ALPHA_SX164 || ALPHA_NAUTILUS || ALPHA_NONAME
depends on TTY
default y if ALPHA_JENSEN || ALPHA_MIKASA || ALPHA_SABLE || ALPHA_LYNX || ALPHA_NORITAKE || ALPHA_DP264 || ALPHA_RAWHIDE || ALPHA_EIGER || ALPHA_WILDFIRE || ALPHA_TITAN || ALPHA_SHARK || ALPHA_MARVEL
---help---
There are two different types of booting firmware on Alphas: SRM,
......
......@@ -8,6 +8,7 @@ config HP_SIMETH
config HP_SIMSERIAL
bool "Simulated serial driver support"
depends on TTY
config HP_SIMSERIAL_CONSOLE
bool "Console for HP simulator"
......
......@@ -41,7 +41,7 @@ config NFBLOCK
config NFCON
tristate "NatFeat console driver"
depends on NATFEAT
depends on TTY && NATFEAT
help
Say Y to include support for the ARAnyM NatFeat console driver
which allows the console output to be redirected to the stderr
......
......@@ -23,6 +23,7 @@ config PARISC
select HAVE_MOD_ARCH_SPECIFIC
select MODULES_USE_ELF_RELA
select CLONE_BACKWARDS
select TTY # Needed for pdc_cons.c
help
The PA-RISC microprocessor is designed by Hewlett-Packard and used
......
......@@ -121,6 +121,7 @@ config DEBUG_COPY_FROM_USER
def_bool n
config HVC_TILE
depends on TTY
select HVC_DRIVER
def_bool y
......
......@@ -12,6 +12,7 @@ config UML
select GENERIC_CPU_DEVICES
select GENERIC_IO
select GENERIC_CLOCKEVENTS
select TTY # Needed for line.c
config MMU
bool
......
......@@ -132,6 +132,7 @@ choice
config XTENSA_PLATFORM_ISS
bool "ISS"
depends on TTY
select XTENSA_CALIBRATE_CCOUNT
select SERIAL_CONSOLE
select XTENSA_ISS_NETWORK
......
......@@ -26,6 +26,7 @@ config BT_HCIBTSDIO
config BT_HCIUART
tristate "HCI UART driver"
depends on TTY
help
Bluetooth HCI UART driver.
This driver is required if you want to use Bluetooth devices with
......
......@@ -53,7 +53,7 @@ source "drivers/tty/serial/Kconfig"
config TTY_PRINTK
bool "TTY driver to output user messages via printk"
depends on EXPERT
depends on EXPERT && TTY
default n
---help---
If you say Y here, the support for writing user messages (i.e.
......@@ -159,7 +159,7 @@ source "drivers/tty/hvc/Kconfig"
config VIRTIO_CONSOLE
tristate "Virtio console"
depends on VIRTIO
depends on VIRTIO && TTY
select HVC_DRIVER
help
Virtio console for use with lguest and other hypervisors.
......@@ -392,6 +392,7 @@ config XILINX_HWICAP
config R3964
tristate "Siemens R3964 line discipline"
depends on TTY
---help---
This driver allows synchronous communication with devices using the
Siemens R3964 packet protocol. Unless you are dealing with special
......@@ -439,7 +440,7 @@ source "drivers/char/pcmcia/Kconfig"
config MWAVE
tristate "ACP Modem (Mwave) support"
depends on X86
depends on X86 && TTY
select SERIAL_8250
---help---
The ACP modem (Mwave) for Linux is a WinModem. It is composed of a
......
......@@ -7,7 +7,7 @@ menu "PCMCIA character devices"
config SYNCLINK_CS
tristate "SyncLink PC Card support"
depends on PCMCIA
depends on PCMCIA && TTY
help
Enable support for the SyncLink PC Card serial adapter, running
asynchronous and HDLC communications up to 512Kbps. The port is
......@@ -45,7 +45,7 @@ config CARDMAN_4040
config IPWIRELESS
tristate "IPWireless 3G UMTS PCMCIA card support"
depends on PCMCIA && NETDEVICES
depends on PCMCIA && NETDEVICES && TTY
select PPP
help
This is a driver for 3G UMTS PCMCIA card from IPWireless company. In
......
......@@ -803,7 +803,7 @@ config I2C_PARPORT_LIGHT
config I2C_TAOS_EVM
tristate "TAOS evaluation module"
depends on EXPERIMENTAL
depends on EXPERIMENTAL && TTY
select SERIO
select SERIO_SERPORT
default n
......
......@@ -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
......
......@@ -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
......
......@@ -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
......
......@@ -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
......
......@@ -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
......
config SERIAL_IPOCTAL
tristate "IndustryPack IP-OCTAL uart support"
depends on IPACK_BUS
depends on IPACK_BUS && TTY
help
This driver supports the IPOCTAL serial port device for the IndustryPack bus.
default n
......@@ -22,6 +22,7 @@ if ISDN
menuconfig ISDN_I4L
tristate "Old ISDN4Linux (deprecated)"
depends on TTY
---help---
This driver allows you to use an ISDN adapter for networking
connections and as dialin/out device. The isdn-tty's have a built
......
......@@ -18,6 +18,7 @@ config CAPI_TRACE
config ISDN_CAPI_MIDDLEWARE
bool "CAPI2.0 Middleware support"
depends on TTY
help
This option will enhance the capabilities of the /dev/capi20
interface. It will provide a means of moving a data connection,
......
menuconfig ISDN_DRV_GIGASET
tristate "Siemens Gigaset support"
depends on TTY
select CRC_CCITT
select BITREVERSE
help
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment