aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/tty
diff options
context:
space:
mode:
authorJoe Millenbach <jmillenbach@gmail.com>2013-01-18 01:44:22 -0500
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2013-01-18 19:15:27 -0500
commit4f73bc4dd3e8563ef4109f293a092820dff66d92 (patch)
tree8ebd5d01abaceb70da1932db1a5e7219630b0fd3 /drivers/tty
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/tty')
-rw-r--r--drivers/tty/Kconfig13
-rw-r--r--drivers/tty/Makefile2
-rw-r--r--drivers/tty/hvc/Kconfig3
-rw-r--r--drivers/tty/serial/Kconfig4
4 files changed, 21 insertions, 1 deletions
diff --git a/drivers/tty/Kconfig b/drivers/tty/Kconfig
index 0ecf22b6a38e..a79fd8ebd56e 100644
--- a/drivers/tty/Kconfig
+++ b/drivers/tty/Kconfig
@@ -1,3 +1,14 @@
1config TTY
2 bool "Enable TTY" if EXPERT
3 default y
4 ---help---
5 Allows you to remove TTY support which can save space, and
6 blocks features that require TTY from inclusion in the kernel.
7 TTY is required for any text terminals or serial port
8 communication. Most users should leave this enabled.
9
10if TTY
11
1config VT 12config VT
2 bool "Virtual terminal" if EXPERT 13 bool "Virtual terminal" if EXPERT
3 depends on !S390 && !UML 14 depends on !S390 && !UML
@@ -388,3 +399,5 @@ config PPC_EARLY_DEBUG_EHV_BC_HANDLE
388 If the number you specify is not a valid byte channel handle, then 399 If the number you specify is not a valid byte channel handle, then
389 there simply will be no early console output. This is true also 400 there simply will be no early console output. This is true also
390 if you don't boot under a hypervisor at all. 401 if you don't boot under a hypervisor at all.
402
403endif # TTY
diff --git a/drivers/tty/Makefile b/drivers/tty/Makefile
index 2953059530e4..df5663d0d55e 100644
--- a/drivers/tty/Makefile
+++ b/drivers/tty/Makefile
@@ -1,4 +1,4 @@
1obj-y += tty_io.o n_tty.o tty_ioctl.o tty_ldisc.o \ 1obj-$(CONFIG_TTY) += tty_io.o n_tty.o tty_ioctl.o tty_ldisc.o \
2 tty_buffer.o tty_port.o tty_mutex.o 2 tty_buffer.o tty_port.o tty_mutex.o
3obj-$(CONFIG_LEGACY_PTYS) += pty.o 3obj-$(CONFIG_LEGACY_PTYS) += pty.o
4obj-$(CONFIG_UNIX98_PTYS) += pty.o 4obj-$(CONFIG_UNIX98_PTYS) += pty.o
diff --git a/drivers/tty/hvc/Kconfig b/drivers/tty/hvc/Kconfig
index f47b734c6a7a..8902f9b4df71 100644
--- a/drivers/tty/hvc/Kconfig
+++ b/drivers/tty/hvc/Kconfig
@@ -1,3 +1,5 @@
1if TTY
2
1config HVC_DRIVER 3config HVC_DRIVER
2 bool 4 bool
3 help 5 help
@@ -119,3 +121,4 @@ config HVCS
119 which will also be compiled when this driver is built as a 121 which will also be compiled when this driver is built as a
120 module. 122 module.
121 123
124endif # TTY
diff --git a/drivers/tty/serial/Kconfig b/drivers/tty/serial/Kconfig
index 2dc429357fe3..e9aeccdfbe35 100644
--- a/drivers/tty/serial/Kconfig
+++ b/drivers/tty/serial/Kconfig
@@ -2,6 +2,8 @@
2# Serial device configuration 2# Serial device configuration
3# 3#
4 4
5if TTY
6
5menu "Serial drivers" 7menu "Serial drivers"
6 depends on HAS_IOMEM 8 depends on HAS_IOMEM
7 9
@@ -1483,3 +1485,5 @@ config SERIAL_RP2_NR_UARTS
1483 need to be increased. 1485 need to be increased.
1484 1486
1485endmenu 1487endmenu
1488
1489endif # TTY