aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb
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/usb
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/usb')
-rw-r--r--drivers/usb/class/Kconfig2
-rw-r--r--drivers/usb/gadget/Kconfig6
-rw-r--r--drivers/usb/serial/Kconfig2
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
7config USB_ACM 7config 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
751config USB_G_SERIAL 751config 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
803if TTY
804
802config USB_CDC_COMPOSITE 805config 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
885endif # TTY
886
882config USB_G_HID 887config 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
896config USB_G_DBGP 901config 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
5menuconfig USB_SERIAL 5menuconfig 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