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/usb | |
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/usb')
-rw-r--r-- | drivers/usb/class/Kconfig | 2 | ||||
-rw-r--r-- | drivers/usb/gadget/Kconfig | 6 | ||||
-rw-r--r-- | drivers/usb/serial/Kconfig | 2 |
3 files changed, 8 insertions, 2 deletions
diff --git a/drivers/usb/class/Kconfig b/drivers/usb/class/Kconfig index 2519e320098f..316aac8e4ca1 100644 --- a/drivers/usb/class/Kconfig +++ b/drivers/usb/class/Kconfig | |||
@@ -6,7 +6,7 @@ comment "USB Device Class drivers" | |||
6 | 6 | ||
7 | config USB_ACM | 7 | config USB_ACM |
8 | tristate "USB Modem (CDC ACM) support" | 8 | tristate "USB Modem (CDC ACM) support" |
9 | depends on USB | 9 | depends on USB && TTY |
10 | ---help--- | 10 | ---help--- |
11 | This driver supports USB modems and ISDN adapters which support the | 11 | This driver supports USB modems and ISDN adapters which support the |
12 | Communication Device Class Abstract Control Model interface. | 12 | Communication Device Class Abstract Control Model interface. |
diff --git a/drivers/usb/gadget/Kconfig b/drivers/usb/gadget/Kconfig index 14625fd2cecd..a1bd951f9cb7 100644 --- a/drivers/usb/gadget/Kconfig +++ b/drivers/usb/gadget/Kconfig | |||
@@ -750,6 +750,7 @@ config USB_GADGET_TARGET | |||
750 | 750 | ||
751 | config USB_G_SERIAL | 751 | config USB_G_SERIAL |
752 | tristate "Serial Gadget (with CDC ACM and CDC OBEX support)" | 752 | tristate "Serial Gadget (with CDC ACM and CDC OBEX support)" |
753 | depends on TTY | ||
753 | select USB_LIBCOMPOSITE | 754 | select USB_LIBCOMPOSITE |
754 | help | 755 | help |
755 | The Serial Gadget talks to the Linux-USB generic serial driver. | 756 | The Serial Gadget talks to the Linux-USB generic serial driver. |
@@ -799,6 +800,8 @@ config USB_G_PRINTER | |||
799 | For more information, see Documentation/usb/gadget_printer.txt | 800 | For more information, see Documentation/usb/gadget_printer.txt |
800 | which includes sample code for accessing the device file. | 801 | which includes sample code for accessing the device file. |
801 | 802 | ||
803 | if TTY | ||
804 | |||
802 | config USB_CDC_COMPOSITE | 805 | config USB_CDC_COMPOSITE |
803 | tristate "CDC Composite Device (Ethernet and ACM)" | 806 | tristate "CDC Composite Device (Ethernet and ACM)" |
804 | depends on NET | 807 | depends on NET |
@@ -879,6 +882,8 @@ config USB_G_MULTI_CDC | |||
879 | 882 | ||
880 | If unsure, say "y". | 883 | If unsure, say "y". |
881 | 884 | ||
885 | endif # TTY | ||
886 | |||
882 | config USB_G_HID | 887 | config USB_G_HID |
883 | tristate "HID Gadget" | 888 | tristate "HID Gadget" |
884 | select USB_LIBCOMPOSITE | 889 | select USB_LIBCOMPOSITE |
@@ -895,6 +900,7 @@ config USB_G_HID | |||
895 | # Standalone / single function gadgets | 900 | # Standalone / single function gadgets |
896 | config USB_G_DBGP | 901 | config USB_G_DBGP |
897 | tristate "EHCI Debug Device Gadget" | 902 | tristate "EHCI Debug Device Gadget" |
903 | depends on TTY | ||
898 | select USB_LIBCOMPOSITE | 904 | select USB_LIBCOMPOSITE |
899 | help | 905 | help |
900 | This gadget emulates an EHCI Debug device. This is useful when you want | 906 | This gadget emulates an EHCI Debug device. This is useful when you want |
diff --git a/drivers/usb/serial/Kconfig b/drivers/usb/serial/Kconfig index 76f462241738..d8e35fe30b0c 100644 --- a/drivers/usb/serial/Kconfig +++ b/drivers/usb/serial/Kconfig | |||
@@ -4,7 +4,7 @@ | |||
4 | 4 | ||
5 | menuconfig USB_SERIAL | 5 | menuconfig USB_SERIAL |
6 | tristate "USB Serial Converter support" | 6 | tristate "USB Serial Converter support" |
7 | depends on USB | 7 | depends on USB && TTY |
8 | ---help--- | 8 | ---help--- |
9 | Say Y here if you have a USB device that provides normal serial | 9 | Say Y here if you have a USB device that provides normal serial |
10 | ports, or acts like a serial device, and you want to connect it to | 10 | ports, or acts like a serial device, and you want to connect it to |