2008-01-05 15:49:27

by Al Boldi

[permalink] [raw]
Subject: Re: [PATCH 1/5] USB Kconfig: Reorganize USB Kconfig Menu


Reorganize USB Kconfig Menu, and move USB_GADGET out into the Device Driver
Menu.

Cc: David Brownell <[email protected]>
Cc: Greg KH <[email protected]>
Cc: Andrew Morton <[email protected]>
Signed-off-by: Al Boldi <[email protected]>

---

--- 23.a/drivers/Kconfig
+++ 23.b/drivers/Kconfig
@@ -70,6 +70,8 @@ source "drivers/hid/Kconfig"

source "drivers/usb/Kconfig"

+source "drivers/usb/gadget/Kconfig"
+
source "drivers/mmc/Kconfig"

source "drivers/leds/Kconfig"
--- 23.a/drivers/usb/Kconfig
+++ 23.b/drivers/usb/Kconfig
@@ -2,8 +2,8 @@
# USB device configuration
#

-menuconfig USB_SUPPORT
- bool "USB support"
+config USB_SUPPORT
+ bool
depends on HAS_IOMEM
default y
---help---
@@ -52,8 +52,8 @@ config USB_ARCH_HAS_EHCI
default PCI

# ARM SA1111 chips have a non-PCI based "OHCI-compatible" USB host interface.
-config USB
- tristate "Support for Host-side USB"
+menuconfig USB
+ tristate "Host-side USB"
depends on USB_ARCH_HAS_HCD
---help---
Universal Serial Bus (USB) is a specification for a serial bus
@@ -87,21 +87,16 @@ config USB
To compile this driver as a module, choose M here: the
module will be called usbcore.

+if USB
+
source "drivers/usb/core/Kconfig"

source "drivers/usb/host/Kconfig"

-source "drivers/usb/class/Kconfig"
-
source "drivers/usb/storage/Kconfig"

-source "drivers/usb/image/Kconfig"
-
source "drivers/usb/mon/Kconfig"

-comment "USB port drivers"
- depends on USB
-
config USB_USS720
tristate "USS720 parport driver"
depends on USB && PARPORT
@@ -133,10 +128,13 @@ config USB_USS720

source "drivers/usb/serial/Kconfig"

-source "drivers/usb/misc/Kconfig"
-
source "drivers/usb/atm/Kconfig"

-source "drivers/usb/gadget/Kconfig"
+source "drivers/usb/class/Kconfig"
+
+source "drivers/usb/image/Kconfig"
+
+source "drivers/usb/misc/Kconfig"

+endif # USB
endif # USB_SUPPORT
--- 23.a/drivers/usb/serial/Kconfig
+++ 23.b/drivers/usb/serial/Kconfig
@@ -2,10 +2,7 @@
# USB Serial device configuration
#

-menu "USB Serial Converter support"
- depends on USB!=n
-
-config USB_SERIAL
+menuconfig USB_SERIAL
tristate "USB Serial Converter support"
depends on USB
---help---
@@ -20,6 +17,8 @@ config USB_SERIAL
To compile this driver as a module, choose M here: the
module will be called usbserial.

+if USB_SERIAL
+
config USB_SERIAL_CONSOLE
bool "USB Serial Console device support (EXPERIMENTAL)"
depends on USB_SERIAL=y && EXPERIMENTAL
@@ -581,5 +580,4 @@ config USB_EZUSB
default y


-endmenu
-
+endif # USB_SERIAL
--- 23.a/drivers/usb/core/Kconfig
+++ 23.b/drivers/usb/core/Kconfig
@@ -1,6 +1,12 @@
#
# USB Core configuration
#
+menuconfig USB_CORE_MENU
+ bool "USB Core Config"
+ depends on USB
+
+if USB_CORE_MENU
+
config USB_DEBUG
bool "USB verbose debug messages"
depends on USB
@@ -142,3 +148,4 @@ config USB_OTG_BLACKLIST_HUB
external hubs. OTG hosts are allowed to reduce hardware
and software costs by not supporting external hubs.

+endif # USB_CORE_MENU
--- 23.a/drivers/usb/host/Kconfig
+++ 23.b/drivers/usb/host/Kconfig
@@ -1,7 +1,7 @@
#
# USB Host Controller Drivers
#
-comment "USB Host Controller Drivers"
+menu "USB Host Controller Drivers"
depends on USB

config USB_EHCI_HCD
@@ -248,3 +248,4 @@ config USB_R8A66597_HCD
To compile this driver as a module, choose M here: the
module will be called r8a66597-hcd.

+endmenu
--- 23.a/drivers/usb/class/Kconfig
+++ 23.b/drivers/usb/class/Kconfig
@@ -1,9 +1,12 @@
#
# USB Class driver configuration
#
-comment "USB Device Class drivers"
+menuconfig USB_DEVICE_CLASS_MENU
+ bool "USB Device Class drivers"
depends on USB

+if USB_DEVICE_CLASS_MENU
+
config USB_ACM
tristate "USB Modem (CDC ACM) support"
depends on USB
@@ -29,3 +32,4 @@ config USB_PRINTER
To compile this driver as a module, choose M here: the
module will be called usblp.

+endif # USB_DEVICE_CLASS_MENU
--- 23.a/drivers/usb/gadget/Kconfig
+++ 23.b/drivers/usb/gadget/Kconfig
@@ -12,10 +12,8 @@
# With help from a special transceiver and a "Mini-AB" jack, systems with
# both kinds of controller can also support "USB On-the-Go" (CONFIG_USB_OTG).
#
-menu "USB Gadget Support"
-
-config USB_GADGET
- tristate "Support for USB Gadgets"
+menuconfig USB_GADGET
+ tristate "Peripheral-side USB"
help
USB is a master/slave protocol, organized with one master
host (such as a PC) controlling up to 127 peripheral devices.
@@ -42,6 +40,8 @@ config USB_GADGET
For more information, see <http://www.linux-usb.org/gadget> and
the kernel DocBook documentation for this API.

+if USB_GADGET
+
config USB_GADGET_DEBUG
boolean "Debugging messages"
depends on USB_GADGET && DEBUG_KERNEL && EXPERIMENTAL
@@ -522,4 +522,4 @@ config USB_MIDI_GADGET

endchoice

-endmenu
+endif # USB_GADGET
--- 23.a/drivers/usb/storage/Kconfig
+++ 23.b/drivers/usb/storage/Kconfig
@@ -2,11 +2,12 @@
# USB Storage driver configuration
#

-comment "NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'"
-comment "may also be needed; see USB_STORAGE Help for more information"
+comment "NOTE: USB_STORAGE needs SCSI, and 'SCSI disk support' may"
+ depends on USB
+comment "also be needed; see USB_STORAGE Help for more information"
depends on USB

-config USB_STORAGE
+menuconfig USB_STORAGE
tristate "USB Mass Storage support"
depends on USB && SCSI
---help---
--- 23.a/drivers/usb/atm/Kconfig
+++ 23.b/drivers/usb/atm/Kconfig
@@ -2,10 +2,7 @@
# USB/ATM DSL configuration
#

-menu "USB DSL modem support"
- depends on USB
-
-config USB_ATM
+menuconfig USB_ATM
tristate "USB DSL modem support"
depends on USB && ATM
select CRC32
@@ -18,6 +15,8 @@ config USB_ATM
To compile this driver as a module, choose M here: the
module will be called usbatm.

+if USB_ATM
+
config USB_SPEEDTOUCH
tristate "Speedtouch USB support"
depends on USB_ATM
@@ -70,4 +69,4 @@ config USB_XUSBATM
To compile this driver as a module, choose M here: the
module will be called xusbatm.

-endmenu
+endif # USB_ATM
--- 23.a/drivers/usb/image/Kconfig
+++ 23.b/drivers/usb/image/Kconfig
@@ -1,9 +1,12 @@
#
# USB Imageing devices configuration
#
-comment "USB Imaging devices"
+menuconfig USB_IMG_MENU
+ bool "USB Imaging devices"
depends on USB

+if USB_IMG_MENU
+
config USB_MDC800
tristate "USB Mustek MDC800 Digital Camera support (EXPERIMENTAL)"
depends on USB && EXPERIMENTAL
@@ -28,3 +31,5 @@ config USB_MICROTEK
The scanner will appear as a scsi generic device to the rest
of the system. Scsi support is required.
This driver can be compiled as a module, called microtek.
+
+endif # USB_IMG_MENU
--- 23.a/drivers/usb/misc/Kconfig
+++ 23.b/drivers/usb/misc/Kconfig
@@ -1,9 +1,12 @@
#
# USB Miscellaneous driver configuration
#
-comment "USB Miscellaneous drivers"
+menuconfig USB_MISC_MENU
+ bool "USB Miscellaneous drivers"
depends on USB

+if USB_MISC_MENU
+
config USB_EMI62
tristate "EMI 6|2m USB Audio interface support"
depends on USB
@@ -269,3 +272,4 @@ config USB_TEST
See <http://www.linux-usb.org/usbtest/> for more information,
including sample test device firmware and "how to use it".

+endif # USB_MISC_MENU