tty: Added a CONFIG_TTY option to allow removal of TTY
authorJoe Millenbach <jmillenbach@gmail.com>
Fri, 18 Jan 2013 06:44:22 +0000 (22:44 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 19 Jan 2013 00:15:27 +0000 (16:15 -0800)
commit4f73bc4dd3e8563ef4109f293a092820dff66d92
tree8ebd5d01abaceb70da1932db1a5e7219630b0fd3
parenta1bf9584429d61b7096f93ae09325e1ba538e9e8
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>
55 files changed:
arch/alpha/Kconfig
arch/ia64/hp/sim/Kconfig
arch/m68k/Kconfig.devices
arch/parisc/Kconfig
arch/tile/Kconfig
arch/um/Kconfig.common
arch/xtensa/Kconfig
drivers/bluetooth/Kconfig
drivers/char/Kconfig
drivers/char/pcmcia/Kconfig
drivers/i2c/busses/Kconfig
drivers/input/joystick/Kconfig
drivers/input/keyboard/Kconfig
drivers/input/mouse/Kconfig
drivers/input/serio/Kconfig
drivers/input/touchscreen/Kconfig
drivers/ipack/devices/Kconfig
drivers/isdn/Kconfig
drivers/isdn/capi/Kconfig
drivers/isdn/gigaset/Kconfig
drivers/isdn/hardware/mISDN/Kconfig
drivers/lguest/Kconfig
drivers/media/radio/wl128x/Kconfig
drivers/misc/Kconfig
drivers/misc/ti-st/Kconfig
drivers/mmc/card/Kconfig
drivers/net/caif/Kconfig
drivers/net/can/Kconfig
drivers/net/hamradio/Kconfig
drivers/net/irda/Kconfig
drivers/net/ppp/Kconfig
drivers/net/slip/Kconfig
drivers/net/usb/Kconfig
drivers/net/wan/Kconfig
drivers/pps/clients/Kconfig
drivers/s390/char/Kconfig
drivers/staging/ccg/Kconfig
drivers/staging/dgrp/Kconfig
drivers/staging/fwserial/Kconfig
drivers/staging/sb105x/Kconfig
drivers/tty/Kconfig
drivers/tty/Makefile
drivers/tty/hvc/Kconfig
drivers/tty/serial/Kconfig
drivers/usb/class/Kconfig
drivers/usb/gadget/Kconfig
drivers/usb/serial/Kconfig
fs/proc/Makefile
include/linux/console.h
include/linux/proc_fs.h
include/linux/tty.h
lib/Kconfig.kgdb
net/bluetooth/rfcomm/Kconfig
net/irda/ircomm/Kconfig
sound/soc/codecs/Kconfig