2013-03-26 18:06:34

by Florian Fainelli

[permalink] [raw]
Subject: [RFC PATCH 0/5] USB: Kconfig cleanups

Hello Alan, Greg,

These 5 patches contain my Kconfig cleanup on which I based the removal
of the USB_ARCH_HAS_* patches. They have been suggested by Alan Stern
as part of an earlier conversations.

Let me know what you think about it so I can post subsequent work based
on it.

Thanks!

Florian Fainelli (5):
USB: drop depends on USB and enclose everything into an if USB block
USB: remove USB_EHCI_BIG_ENDIAN_{DESC,MMIO} depends on architecture
symbol
USB: enclose EHCI HCD drivers within an if USB_EHCI_HCD block
USB: enclose all depends on USB_OHCI_HCD within an if USB_OHCI_HCD
block
USB: enclose USB_XHCI_HCD related symbols within a if USB_XHCI_HCD
block

arch/arm/Kconfig | 2 +
arch/mips/Kconfig | 3 +
arch/powerpc/platforms/44x/Kconfig | 2 +
arch/powerpc/platforms/52xx/Kconfig | 2 +
arch/sparc/Kconfig | 2 +
drivers/usb/Kconfig | 7 +-
drivers/usb/atm/Kconfig | 2 +-
drivers/usb/chipidea/Kconfig | 4 +-
drivers/usb/class/Kconfig | 6 +-
drivers/usb/core/Kconfig | 7 +-
drivers/usb/dwc3/Kconfig | 3 +-
drivers/usb/gadget/Kconfig | 2 +-
drivers/usb/host/Kconfig | 165 +++++++++++++++++------------------
drivers/usb/image/Kconfig | 4 +-
drivers/usb/misc/Kconfig | 21 -----
drivers/usb/misc/sisusbvga/Kconfig | 2 +-
drivers/usb/mon/Kconfig | 1 -
drivers/usb/musb/Kconfig | 2 +-
drivers/usb/phy/Kconfig | 6 +-
drivers/usb/renesas_usbhs/Kconfig | 2 +-
drivers/usb/serial/Kconfig | 2 +-
drivers/usb/storage/Kconfig | 7 +-
drivers/usb/wusbcore/Kconfig | 2 -
23 files changed, 113 insertions(+), 143 deletions(-)

--
1.7.10.4


2013-03-26 18:06:36

by Florian Fainelli

[permalink] [raw]
Subject: [RFC PATCH 1/5] USB: drop depends on USB and enclose everything into an if USB block

This patch removes the depends on USB from all config symbols in
drivers/usb/host/Kconfig and replace that with an if USB / endif block
as suggested by Alan Stern.

Signed-off-by: Florian Fainelli <[email protected]>
---
drivers/usb/Kconfig | 7 +++++--
drivers/usb/atm/Kconfig | 2 +-
drivers/usb/chipidea/Kconfig | 4 ++--
drivers/usb/class/Kconfig | 6 +-----
drivers/usb/core/Kconfig | 7 +------
drivers/usb/dwc3/Kconfig | 3 +--
drivers/usb/gadget/Kconfig | 2 +-
drivers/usb/host/Kconfig | 30 +++++++++++-------------------
drivers/usb/image/Kconfig | 4 +---
drivers/usb/misc/Kconfig | 21 ---------------------
drivers/usb/misc/sisusbvga/Kconfig | 2 +-
drivers/usb/mon/Kconfig | 1 -
drivers/usb/musb/Kconfig | 2 +-
drivers/usb/phy/Kconfig | 6 +++---
drivers/usb/renesas_usbhs/Kconfig | 2 +-
drivers/usb/serial/Kconfig | 2 +-
drivers/usb/storage/Kconfig | 7 +++----
drivers/usb/wusbcore/Kconfig | 2 --
18 files changed, 34 insertions(+), 76 deletions(-)

diff --git a/drivers/usb/Kconfig b/drivers/usb/Kconfig
index 640ae6c..20adb36 100644
--- a/drivers/usb/Kconfig
+++ b/drivers/usb/Kconfig
@@ -122,6 +122,8 @@ 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/dwc3/Kconfig"
@@ -145,11 +147,10 @@ source "drivers/usb/storage/Kconfig"
source "drivers/usb/image/Kconfig"

comment "USB port drivers"
- depends on USB

config USB_USS720
tristate "USS720 parport driver"
- depends on USB && PARPORT
+ depends on PARPORT
select PARPORT_NOT_PC
---help---
This driver is for USB parallel port adapters that use the Lucent
@@ -188,4 +189,6 @@ source "drivers/usb/gadget/Kconfig"

source "drivers/usb/otg/Kconfig"

+endif # USB
+
endif # USB_SUPPORT
diff --git a/drivers/usb/atm/Kconfig b/drivers/usb/atm/Kconfig
index be0b8da..0f92294 100644
--- a/drivers/usb/atm/Kconfig
+++ b/drivers/usb/atm/Kconfig
@@ -4,7 +4,7 @@

menuconfig USB_ATM
tristate "USB DSL modem support"
- depends on USB && ATM
+ depends on ATM
select CRC32
default n
help
diff --git a/drivers/usb/chipidea/Kconfig b/drivers/usb/chipidea/Kconfig
index 608a2ae..71f4176 100644
--- a/drivers/usb/chipidea/Kconfig
+++ b/drivers/usb/chipidea/Kconfig
@@ -1,6 +1,6 @@
config USB_CHIPIDEA
tristate "ChipIdea Highspeed Dual Role Controller"
- depends on USB || USB_GADGET
+ depends on USB_GADGET
help
Say Y here if your system has a dual role high speed USB
controller based on ChipIdea silicon IP. Currently, only the
@@ -19,7 +19,7 @@ config USB_CHIPIDEA_UDC

config USB_CHIPIDEA_HOST
bool "ChipIdea host controller"
- depends on USB=y || USB=USB_CHIPIDEA
+ depends on USB_CHIPIDEA
depends on USB_EHCI_HCD
select USB_EHCI_ROOT_HUB_TT
help
diff --git a/drivers/usb/class/Kconfig b/drivers/usb/class/Kconfig
index 316aac8..bb8b736 100644
--- a/drivers/usb/class/Kconfig
+++ b/drivers/usb/class/Kconfig
@@ -2,11 +2,10 @@
# USB Class driver configuration
#
comment "USB Device Class drivers"
- depends on USB

config USB_ACM
tristate "USB Modem (CDC ACM) support"
- depends on USB && TTY
+ depends on TTY
---help---
This driver supports USB modems and ISDN adapters which support the
Communication Device Class Abstract Control Model interface.
@@ -21,7 +20,6 @@ config USB_ACM

config USB_PRINTER
tristate "USB Printer support"
- depends on USB
help
Say Y here if you want to connect a USB printer to your computer's
USB port.
@@ -31,7 +29,6 @@ config USB_PRINTER

config USB_WDM
tristate "USB Wireless Device Management support"
- depends on USB
---help---
This driver supports the WMC Device Management functionality
of cell phones compliant to the CDC WMC specification. You can use
@@ -42,7 +39,6 @@ config USB_WDM

config USB_TMC
tristate "USB Test and Measurement Class support"
- depends on USB
help
Say Y here if you want to connect a USB device that follows
the USB.org specification for USB Test and Measurement devices
diff --git a/drivers/usb/core/Kconfig b/drivers/usb/core/Kconfig
index f70c1a1..8a0cba6 100644
--- a/drivers/usb/core/Kconfig
+++ b/drivers/usb/core/Kconfig
@@ -3,7 +3,6 @@
#
config USB_DEBUG
bool "USB verbose debug messages"
- depends on USB
help
Say Y here if you want the USB core & hub drivers to produce a bunch
of debug messages to the system log. Select this if you are having a
@@ -11,7 +10,6 @@ config USB_DEBUG

config USB_ANNOUNCE_NEW_DEVICES
bool "USB announce new devices"
- depends on USB
default N
help
Say Y here if you want the USB core to always announce the
@@ -25,11 +23,9 @@ config USB_ANNOUNCE_NEW_DEVICES
log, or have any doubts about this, say N here.

comment "Miscellaneous USB options"
- depends on USB

config USB_DYNAMIC_MINORS
bool "Dynamic USB minor allocation"
- depends on USB
help
If you say Y here, the USB subsystem will use dynamic minor
allocation for any device that uses the USB major number.
@@ -40,7 +36,7 @@ config USB_DYNAMIC_MINORS

config USB_SUSPEND
bool "USB runtime power management (autosuspend) and wakeup"
- depends on USB && PM_RUNTIME
+ depends on PM_RUNTIME
help
If you say Y here, you can use driver calls or the sysfs
"power/control" file to enable or disable autosuspend for
@@ -56,7 +52,6 @@ config USB_SUSPEND

config USB_OTG
bool "OTG support"
- depends on USB
depends on USB_SUSPEND
default n
help
diff --git a/drivers/usb/dwc3/Kconfig b/drivers/usb/dwc3/Kconfig
index 68e9a2c..63be84a 100644
--- a/drivers/usb/dwc3/Kconfig
+++ b/drivers/usb/dwc3/Kconfig
@@ -1,6 +1,6 @@
config USB_DWC3
tristate "DesignWare USB3 DRD Core Support"
- depends on (USB || USB_GADGET) && GENERIC_HARDIRQS
+ depends on USB_GADGET && GENERIC_HARDIRQS
select USB_OTG_UTILS
select USB_XHCI_PLATFORM if USB_SUPPORT && USB_XHCI_HCD
help
@@ -20,7 +20,6 @@ choice

config USB_DWC3_HOST
bool "Host only mode"
- depends on USB
help
Select this when you want to use DWC3 in host mode only,
thereby the gadget feature will be regressed.
diff --git a/drivers/usb/gadget/Kconfig b/drivers/usb/gadget/Kconfig
index 5a0c541..eb7d0e3 100644
--- a/drivers/usb/gadget/Kconfig
+++ b/drivers/usb/gadget/Kconfig
@@ -468,7 +468,7 @@ config USB_EG20T

config USB_DUMMY_HCD
tristate "Dummy HCD (DEVELOPMENT)"
- depends on USB=y || (USB=m && USB_GADGET=m)
+ depends on USB_GADGET=m
help
This host controller driver emulates USB, looping all data transfer
requests back to a USB "gadget driver" in the same host. The host
diff --git a/drivers/usb/host/Kconfig b/drivers/usb/host/Kconfig
index 2f68221..7f4ccf7 100644
--- a/drivers/usb/host/Kconfig
+++ b/drivers/usb/host/Kconfig
@@ -2,11 +2,9 @@
# USB Host Controller Drivers
#
comment "USB Host Controller Drivers"
- depends on USB

config USB_C67X00_HCD
tristate "Cypress C67x00 HCD support"
- depends on USB
help
The Cypress C67x00 (EZ-Host/EZ-OTG) chips are dual-role
host/peripheral/OTG USB controllers.
@@ -19,7 +17,7 @@ config USB_C67X00_HCD

config USB_XHCI_HCD
tristate "xHCI HCD (USB 3.0) support"
- depends on USB && USB_ARCH_HAS_XHCI
+ depends on USB_ARCH_HAS_XHCI
---help---
The eXtensible Host Controller Interface (xHCI) is standard for USB 3.0
"SuperSpeed" host controller hardware.
@@ -43,7 +41,7 @@ config USB_XHCI_HCD_DEBUGGING

config USB_EHCI_HCD
tristate "EHCI HCD (USB 2.0) support"
- depends on USB && USB_ARCH_HAS_EHCI
+ depends on USB_ARCH_HAS_EHCI
---help---
The Enhanced Host Controller Interface (EHCI) is standard for USB 2.0
"high speed" (480 Mbit/sec, 60 Mbyte/sec) host controller hardware.
@@ -247,7 +245,7 @@ config USB_EHCI_ATH79

config USB_OXU210HP_HCD
tristate "OXU210HP HCD support"
- depends on USB && GENERIC_HARDIRQS
+ depends on GENERIC_HARDIRQS
---help---
The OXU210HP is an USB host/OTG/device controller. Enable this
option if your board has this chip. If unsure, say N.
@@ -260,7 +258,6 @@ config USB_OXU210HP_HCD

config USB_ISP116X_HCD
tristate "ISP116X HCD support"
- depends on USB
---help---
The ISP1160 and ISP1161 chips are USB host controllers. Enable this
option if your board has this chip. If unsure, say N.
@@ -272,7 +269,6 @@ config USB_ISP116X_HCD

config USB_ISP1760_HCD
tristate "ISP 1760 HCD support"
- depends on USB
---help---
The ISP1760 chip is a USB 2.0 host controller.

@@ -287,7 +283,6 @@ config USB_ISP1760_HCD

config USB_ISP1362_HCD
tristate "ISP1362 HCD support"
- depends on USB
default N
---help---
Supports the Philips ISP1362 chip as a host controller
@@ -299,7 +294,7 @@ config USB_ISP1362_HCD

config USB_OHCI_HCD
tristate "OHCI HCD support"
- depends on USB && USB_ARCH_HAS_OHCI
+ depends on USB_ARCH_HAS_OHCI
select ISP1301_OMAP if MACH_OMAP_H2 || MACH_OMAP_H3
select USB_OTG_UTILS if ARCH_OMAP
depends on USB_ISP1301 || !ARCH_LPC32XX
@@ -458,7 +453,7 @@ config USB_OHCI_LITTLE_ENDIAN

config USB_UHCI_HCD
tristate "UHCI HCD (most Intel and VIA) support"
- depends on USB && (PCI || SPARC_LEON || ARCH_VT8500)
+ depends on PCI || SPARC_LEON || ARCH_VT8500
---help---
The Universal Host Controller Interface is a standard by Intel for
accessing the USB hardware in the PC (which is also called the USB
@@ -498,7 +493,7 @@ config USB_UHCI_BIG_ENDIAN_DESC

config USB_FHCI_HCD
tristate "Freescale QE USB Host Controller support"
- depends on USB && OF_GPIO && QE_GPIO && QUICC_ENGINE
+ depends on OF_GPIO && QE_GPIO && QUICC_ENGINE
select FSL_GTM
select QE_USB
help
@@ -515,7 +510,7 @@ config FHCI_DEBUG

config USB_U132_HCD
tristate "Elan U132 Adapter Host Controller"
- depends on USB && USB_FTDI_ELAN
+ depends on USB_FTDI_ELAN
default M
help
The U132 adapter is a USB to CardBus adapter specifically designed
@@ -543,7 +538,6 @@ config USB_U132_HCD

config USB_SL811_HCD
tristate "SL811HS HCD support"
- depends on USB
help
The SL811HS is a single-port USB controller that supports either
host side or peripheral side roles. Enable this option if your
@@ -575,7 +569,6 @@ config USB_SL811_CS

config USB_R8A66597_HCD
tristate "R8A66597 HCD support"
- depends on USB
help
The R8A66597 is a USB 2.0 host and peripheral controller.

@@ -587,7 +580,6 @@ config USB_R8A66597_HCD

config USB_RENESAS_USBHS_HCD
tristate "Renesas USBHS HCD support"
- depends on USB
depends on USB_RENESAS_USBHS
help
The Renesas USBHS is a USB 2.0 host and peripheral controller.
@@ -612,7 +604,7 @@ config USB_WHCI_HCD

config USB_HWA_HCD
tristate "Host Wire Adapter (HWA) driver"
- depends on USB && UWB
+ depends on UWB
select USB_WUSB
select UWB_HWA
help
@@ -626,7 +618,7 @@ config USB_HWA_HCD

config USB_IMX21_HCD
tristate "i.MX21 HCD support"
- depends on USB && ARM && ARCH_MXC
+ depends on ARM && ARCH_MXC
help
This driver enables support for the on-chip USB host in the
i.MX21 processor.
@@ -636,7 +628,7 @@ config USB_IMX21_HCD

config USB_OCTEON_EHCI
bool "Octeon on-chip EHCI support"
- depends on USB && USB_EHCI_HCD && CPU_CAVIUM_OCTEON
+ depends on USB_EHCI_HCD && CPU_CAVIUM_OCTEON
default n
select USB_EHCI_BIG_ENDIAN_MMIO
help
@@ -647,7 +639,7 @@ config USB_OCTEON_EHCI

config USB_OCTEON_OHCI
bool "Octeon on-chip OHCI support"
- depends on USB && USB_OHCI_HCD && CPU_CAVIUM_OCTEON
+ depends on USB_OHCI_HCD && CPU_CAVIUM_OCTEON
default USB_OCTEON_EHCI
select USB_OHCI_BIG_ENDIAN_MMIO
select USB_OHCI_LITTLE_ENDIAN
diff --git a/drivers/usb/image/Kconfig b/drivers/usb/image/Kconfig
index 33350f9..320d368 100644
--- a/drivers/usb/image/Kconfig
+++ b/drivers/usb/image/Kconfig
@@ -2,11 +2,9 @@
# USB Imaging devices configuration
#
comment "USB Imaging devices"
- depends on USB

config USB_MDC800
tristate "USB Mustek MDC800 Digital Camera support"
- depends on USB
---help---
Say Y here if you want to connect this type of still camera to
your computer's USB port. This driver can be used with gphoto 0.4.3
@@ -19,7 +17,7 @@ config USB_MDC800

config USB_MICROTEK
tristate "Microtek X6USB scanner support"
- depends on USB && SCSI
+ depends on SCSI
help
Say Y here if you want support for the Microtek X6USB and
possibly the Phantom 336CX, Phantom C6 and ScanMaker V6U(S)L.
diff --git a/drivers/usb/misc/Kconfig b/drivers/usb/misc/Kconfig
index 3b1a3f4..a51e7d6 100644
--- a/drivers/usb/misc/Kconfig
+++ b/drivers/usb/misc/Kconfig
@@ -2,11 +2,9 @@
# USB Miscellaneous driver configuration
#
comment "USB Miscellaneous drivers"
- depends on USB

config USB_EMI62
tristate "EMI 6|2m USB Audio interface support"
- depends on USB
---help---
This driver loads firmware to Emagic EMI 6|2m low latency USB
Audio and Midi interface.
@@ -21,7 +19,6 @@ config USB_EMI62

config USB_EMI26
tristate "EMI 2|6 USB Audio interface support"
- depends on USB
---help---
This driver loads firmware to Emagic EMI 2|6 low latency USB
Audio interface.
@@ -34,7 +31,6 @@ config USB_EMI26

config USB_ADUTUX
tristate "ADU devices from Ontrak Control Systems"
- depends on USB
help
Say Y if you want to use an ADU device from Ontrak Control
Systems.
@@ -44,7 +40,6 @@ config USB_ADUTUX

config USB_SEVSEG
tristate "USB 7-Segment LED Display"
- depends on USB
help
Say Y here if you have a USB 7-Segment Display by Delcom

@@ -53,7 +48,6 @@ config USB_SEVSEG

config USB_RIO500
tristate "USB Diamond Rio500 support"
- depends on USB
help
Say Y here if you want to connect a USB Rio500 mp3 player to your
computer's USB port. Please read <file:Documentation/usb/rio.txt>
@@ -64,7 +58,6 @@ config USB_RIO500

config USB_LEGOTOWER
tristate "USB Lego Infrared Tower support"
- depends on USB
help
Say Y here if you want to connect a USB Lego Infrared Tower to your
computer's USB port.
@@ -77,7 +70,6 @@ config USB_LEGOTOWER

config USB_LCD
tristate "USB LCD driver support"
- depends on USB
help
Say Y here if you want to connect an USBLCD to your computer's
USB port. The USBLCD is a small USB interface board for
@@ -89,7 +81,6 @@ config USB_LCD

config USB_LED
tristate "USB LED driver support"
- depends on USB
help
Say Y here if you want to connect an USBLED device to your
computer's USB port.
@@ -99,7 +90,6 @@ config USB_LED

config USB_CYPRESS_CY7C63
tristate "Cypress CY7C63xxx USB driver support"
- depends on USB
help
Say Y here if you want to connect a Cypress CY7C63xxx
micro controller to your computer's USB port. Currently this
@@ -113,7 +103,6 @@ config USB_CYPRESS_CY7C63

config USB_CYTHERM
tristate "Cypress USB thermometer driver support"
- depends on USB
help
Say Y here if you want to connect a Cypress USB thermometer
device to your computer's USB port. This device is also known
@@ -126,7 +115,6 @@ config USB_CYTHERM

config USB_IDMOUSE
tristate "Siemens ID USB Mouse Fingerprint sensor support"
- depends on USB
help
Say Y here if you want to use the fingerprint sensor on
the Siemens ID Mouse. There is also a Siemens ID Mouse
@@ -140,7 +128,6 @@ config USB_IDMOUSE

config USB_FTDI_ELAN
tristate "Elan PCMCIA CardBus Adapter USB Client"
- depends on USB
default M
help
ELAN's Uxxx series of adapters are USB to PCMCIA CardBus adapters.
@@ -164,7 +151,6 @@ config USB_FTDI_ELAN

config USB_APPLEDISPLAY
tristate "Apple Cinema Display support"
- depends on USB
select BACKLIGHT_LCD_SUPPORT
select BACKLIGHT_CLASS_DEVICE
help
@@ -175,7 +161,6 @@ source "drivers/usb/misc/sisusbvga/Kconfig"

config USB_LD
tristate "USB LD driver"
- depends on USB
help
This driver is for generic USB devices that use interrupt transfers,
like LD Didactic's USB devices.
@@ -185,7 +170,6 @@ config USB_LD

config USB_TRANCEVIBRATOR
tristate "PlayStation 2 Trance Vibrator driver support"
- depends on USB
help
Say Y here if you want to connect a PlayStation 2 Trance Vibrator
device to your computer's USB port.
@@ -195,7 +179,6 @@ config USB_TRANCEVIBRATOR

config USB_IOWARRIOR
tristate "IO Warrior driver support"
- depends on USB
help
Say Y here if you want to support the IO Warrior devices from Code
Mercenaries. This includes support for the following devices:
@@ -209,7 +192,6 @@ config USB_IOWARRIOR

config USB_TEST
tristate "USB testing driver"
- depends on USB
help
This driver is for testing host controller software. It is used
with specialized device firmware for regression and stress testing,
@@ -220,7 +202,6 @@ config USB_TEST

config USB_ISIGHTFW
tristate "iSight firmware loading support"
- depends on USB
select FW_LOADER
help
This driver loads firmware for USB Apple iSight cameras, allowing
@@ -233,7 +214,6 @@ config USB_ISIGHTFW

config USB_YUREX
tristate "USB YUREX driver support"
- depends on USB
help
Say Y here if you want to connect a YUREX to your computer's
USB port. The YUREX is a leg-shakes sensor. See
@@ -246,7 +226,6 @@ config USB_YUREX

config USB_EZUSB_FX2
tristate "Functions for loading firmware on EZUSB chips"
- depends on USB
help
Say Y here if you need EZUSB device support.
(Cypress FX/FX2/FX2LP microcontrollers)
diff --git a/drivers/usb/misc/sisusbvga/Kconfig b/drivers/usb/misc/sisusbvga/Kconfig
index 30ea7ca..0d03a52 100644
--- a/drivers/usb/misc/sisusbvga/Kconfig
+++ b/drivers/usb/misc/sisusbvga/Kconfig
@@ -1,7 +1,7 @@

config USB_SISUSBVGA
tristate "USB 2.0 SVGA dongle support (Net2280/SiS315)"
- depends on USB && (USB_MUSB_HDRC || USB_EHCI_HCD)
+ depends on (USB_MUSB_HDRC || USB_EHCI_HCD)
---help---
Say Y here if you intend to attach a USB2VGA dongle based on a
Net2280 and a SiS315 chip.
diff --git a/drivers/usb/mon/Kconfig b/drivers/usb/mon/Kconfig
index 635745f..5c6ffa2 100644
--- a/drivers/usb/mon/Kconfig
+++ b/drivers/usb/mon/Kconfig
@@ -4,7 +4,6 @@

config USB_MON
tristate "USB Monitor"
- depends on USB
help
If you select this option, a component which captures the USB traffic
between peripheral-specific drivers and HC drivers will be built.
diff --git a/drivers/usb/musb/Kconfig b/drivers/usb/musb/Kconfig
index 05e5143..debf855 100644
--- a/drivers/usb/musb/Kconfig
+++ b/drivers/usb/musb/Kconfig
@@ -6,7 +6,7 @@
# (M)HDRC = (Multipoint) Highspeed Dual-Role Controller
config USB_MUSB_HDRC
tristate 'Inventra Highspeed Dual Role Controller (TI, ADI, ...)'
- depends on USB && USB_GADGET
+ depends on USB
select USB_OTG_UTILS
help
Say Y here if your system has a dual role high speed USB
diff --git a/drivers/usb/phy/Kconfig b/drivers/usb/phy/Kconfig
index 65217a5..c8f5be1 100644
--- a/drivers/usb/phy/Kconfig
+++ b/drivers/usb/phy/Kconfig
@@ -2,7 +2,7 @@
# Physical Layer USB driver configuration
#
comment "USB Physical Layer drivers"
- depends on USB || USB_GADGET
+ depends on USB_GADGET

config OMAP_USB2
tristate "OMAP USB2 PHY Driver"
@@ -36,7 +36,7 @@ config OMAP_CONTROL_USB

config USB_ISP1301
tristate "NXP ISP1301 USB transceiver support"
- depends on USB || USB_GADGET
+ depends on USB_GADGET
depends on I2C
help
Say Y here to add support for the NXP ISP1301 USB transceiver driver.
@@ -56,7 +56,7 @@ config MV_U3D_PHY

config USB_RCAR_PHY
tristate "Renesas R-Car USB phy support"
- depends on USB || USB_GADGET
+ depends on USB_GADGET
select USB_OTG_UTILS
help
Say Y here to add support for the Renesas R-Car USB phy driver.
diff --git a/drivers/usb/renesas_usbhs/Kconfig b/drivers/usb/renesas_usbhs/Kconfig
index 29feb00..019bf7e 100644
--- a/drivers/usb/renesas_usbhs/Kconfig
+++ b/drivers/usb/renesas_usbhs/Kconfig
@@ -4,7 +4,7 @@

config USB_RENESAS_USBHS
tristate 'Renesas USBHS controller'
- depends on USB && USB_GADGET && GENERIC_HARDIRQS
+ depends on USB_GADGET && GENERIC_HARDIRQS
default n
help
Renesas USBHS is a discrete USB host and peripheral controller chip
diff --git a/drivers/usb/serial/Kconfig b/drivers/usb/serial/Kconfig
index 17b7f9a..bf37336 100644
--- a/drivers/usb/serial/Kconfig
+++ b/drivers/usb/serial/Kconfig
@@ -4,7 +4,7 @@

menuconfig USB_SERIAL
tristate "USB Serial Converter support"
- depends on USB && TTY
+ depends on TTY
---help---
Say Y here if you have a USB device that provides normal serial
ports, or acts like a serial device, and you want to connect it to
diff --git a/drivers/usb/storage/Kconfig b/drivers/usb/storage/Kconfig
index eab04a6..8470e1b 100644
--- a/drivers/usb/storage/Kconfig
+++ b/drivers/usb/storage/Kconfig
@@ -4,11 +4,10 @@

comment "NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may"
comment "also be needed; see USB_STORAGE Help for more info"
- depends on USB

config USB_STORAGE
tristate "USB Mass Storage support"
- depends on USB && SCSI
+ depends on SCSI
---help---
Say Y here if you want to connect USB mass storage devices to your
computer's USB port. This is the driver you need for USB
@@ -188,7 +187,7 @@ config USB_STORAGE_CYPRESS_ATACB

config USB_STORAGE_ENE_UB6250
tristate "USB ENE card reader support"
- depends on USB && SCSI
+ depends on SCSI
depends on USB_STORAGE
---help---
Say Y here if you wish to control a ENE SD/MS Card reader.
@@ -203,7 +202,7 @@ config USB_STORAGE_ENE_UB6250

config USB_UAS
tristate "USB Attached SCSI"
- depends on USB && SCSI && BROKEN
+ depends on SCSI && BROKEN
help
The USB Attached SCSI protocol is supported by some USB
storage devices. It permits higher performance by supporting
diff --git a/drivers/usb/wusbcore/Kconfig b/drivers/usb/wusbcore/Kconfig
index 8bf1976..0e17b96 100644
--- a/drivers/usb/wusbcore/Kconfig
+++ b/drivers/usb/wusbcore/Kconfig
@@ -3,7 +3,6 @@
#
config USB_WUSB
tristate "Enable Wireless USB extensions"
- depends on USB
depends on PCI
depends on UWB
select CRYPTO
@@ -19,7 +18,6 @@ config USB_WUSB

config USB_WUSB_CBAF
tristate "Support WUSB Cable Based Association (CBA)"
- depends on USB
help
Some WUSB devices support Cable Based Association. It's used to
enable the secure communication between the host and the
--
1.7.10.4

2013-03-26 18:07:06

by Florian Fainelli

[permalink] [raw]
Subject: [RFC PATCH 3/5] USB: enclose EHCI HCD drivers within an if USB_EHCI_HCD block

Thist patch removes the depends on USB_EHCI_HCD that the various USB
EHCI HCD drivers use and encloses every driver within an if USB_EHCI_HCD
/ endif block. The EHCI HCD platform and Octeon drivers have been moved
around to remain enclosed within this block.

Signed-off-by: Florian Fainelli <[email protected]>
---
drivers/usb/host/Kconfig | 75 ++++++++++++++++++++++++----------------------
1 file changed, 39 insertions(+), 36 deletions(-)

diff --git a/drivers/usb/host/Kconfig b/drivers/usb/host/Kconfig
index 1b63fae..7a91712 100644
--- a/drivers/usb/host/Kconfig
+++ b/drivers/usb/host/Kconfig
@@ -93,14 +93,16 @@ config USB_EHCI_TT_NEWSCHED

If unsure, say Y.

+if USB_EHCI_HCD
+
config USB_EHCI_PCI
tristate
- depends on USB_EHCI_HCD && PCI
+ depends on PCI
default y

config USB_EHCI_HCD_PMC_MSP
tristate "EHCI support for on-chip PMC MSP71xx USB controller"
- depends on USB_EHCI_HCD && MSP_HAS_USB
+ depends on MSP_HAS_USB
default n
select USB_EHCI_BIG_ENDIAN_DESC
select USB_EHCI_BIG_ENDIAN_MMIO
@@ -110,17 +112,15 @@ config USB_EHCI_HCD_PMC_MSP

config USB_EHCI_BIG_ENDIAN_MMIO
bool
- depends on USB_EHCI_HCD
default n

config USB_EHCI_BIG_ENDIAN_DESC
bool
- depends on USB_EHCI_HCD
default n

config XPS_USB_HCD_XILINX
bool "Use Xilinx usb host EHCI controller core"
- depends on USB_EHCI_HCD && (PPC32 || MICROBLAZE)
+ depends on (PPC32 || MICROBLAZE)
select USB_EHCI_BIG_ENDIAN_DESC
select USB_EHCI_BIG_ENDIAN_MMIO
---help---
@@ -134,7 +134,7 @@ config USB_FSL_MPH_DR_OF

config USB_EHCI_FSL
bool "Support for Freescale PPC on-chip EHCI USB controller"
- depends on USB_EHCI_HCD && FSL_SOC
+ depends on FSL_SOC
select USB_EHCI_ROOT_HUB_TT
select USB_FSL_MPH_DR_OF if OF
---help---
@@ -142,14 +142,14 @@ config USB_EHCI_FSL

config USB_EHCI_MXC
tristate "Support for Freescale i.MX on-chip EHCI USB controller"
- depends on USB_EHCI_HCD && ARCH_MXC
+ depends on ARCH_MXC
select USB_EHCI_ROOT_HUB_TT
---help---
Variation of ARC USB block used in some Freescale chips.

config USB_EHCI_HCD_OMAP
tristate "EHCI support for OMAP3 and later chips"
- depends on USB_EHCI_HCD && ARCH_OMAP
+ depends on ARCH_OMAP
select NOP_USB_XCEIV
default y
---help---
@@ -158,7 +158,7 @@ config USB_EHCI_HCD_OMAP

config USB_EHCI_MSM
bool "Support for MSM on-chip EHCI USB controller"
- depends on USB_EHCI_HCD && ARCH_MSM
+ depends on ARCH_MSM
select USB_EHCI_ROOT_HUB_TT
select USB_MSM_OTG
---help---
@@ -171,7 +171,7 @@ config USB_EHCI_MSM

config USB_EHCI_TEGRA
boolean "NVIDIA Tegra HCD support"
- depends on USB_EHCI_HCD && ARCH_TEGRA
+ depends on ARCH_TEGRA
select USB_EHCI_ROOT_HUB_TT
help
This driver enables support for the internal USB Host Controllers
@@ -179,7 +179,7 @@ config USB_EHCI_TEGRA

config USB_EHCI_HCD_PPC_OF
bool "EHCI support for PPC USB controller on OF platform bus"
- depends on USB_EHCI_HCD && PPC_OF
+ depends on PPC_OF
default y
---help---
Enables support for the USB controller present on the PowerPC
@@ -187,20 +187,20 @@ config USB_EHCI_HCD_PPC_OF

config USB_EHCI_SH
bool "EHCI support for SuperH USB controller"
- depends on USB_EHCI_HCD && SUPERH
+ depends on SUPERH
---help---
Enables support for the on-chip EHCI controller on the SuperH.
If you use the PCI EHCI controller, this option is not necessary.

config USB_EHCI_S5P
boolean "S5P EHCI support"
- depends on USB_EHCI_HCD && PLAT_S5P
+ depends on PLAT_S5P
help
Enable support for the S5P SOC's on-chip EHCI controller.

config USB_EHCI_MV
bool "EHCI support for Marvell on-chip controller"
- depends on USB_EHCI_HCD && (ARCH_PXA || ARCH_MMP)
+ depends on (ARCH_PXA || ARCH_MMP)
select USB_EHCI_ROOT_HUB_TT
---help---
Enables support for Marvell (including PXA and MMP series) on-chip
@@ -209,13 +209,13 @@ config USB_EHCI_MV

config USB_W90X900_EHCI
bool "W90X900(W90P910) EHCI support"
- depends on USB_EHCI_HCD && ARCH_W90X900
+ depends on ARCH_W90X900
---help---
Enables support for the W90X900 USB controller

config USB_CNS3XXX_EHCI
bool "Cavium CNS3XXX EHCI Module (DEPRECATED)"
- depends on USB_EHCI_HCD && ARCH_CNS3XXX
+ depends on ARCH_CNS3XXX
select USB_EHCI_HCD_PLATFORM
---help---
This option is deprecated now and the driver was removed, use
@@ -227,7 +227,7 @@ config USB_CNS3XXX_EHCI

config USB_EHCI_ATH79
bool "EHCI support for AR7XXX/AR9XXX SoCs (DEPRECATED)"
- depends on USB_EHCI_HCD && (SOC_AR71XX || SOC_AR724X || SOC_AR913X || SOC_AR933X)
+ depends on (SOC_AR71XX || SOC_AR724X || SOC_AR913X || SOC_AR933X)
select USB_EHCI_ROOT_HUB_TT
select USB_EHCI_HCD_PLATFORM
default y
@@ -238,6 +238,28 @@ config USB_EHCI_ATH79
Enables support for the built-in EHCI controller present
on the Atheros AR7XXX/AR9XXX SoCs.

+config USB_EHCI_HCD_PLATFORM
+ tristate "Generic EHCI driver for a platform device"
+ default n
+ ---help---
+ Adds an EHCI host driver for a generic platform device, which
+ provides a memory space and an irq.
+
+ If unsure, say N.
+
+config USB_OCTEON_EHCI
+ bool "Octeon on-chip EHCI support"
+ depends on CPU_CAVIUM_OCTEON
+ default n
+ select USB_EHCI_BIG_ENDIAN_MMIO
+ help
+ Enable support for the Octeon II SOC's on-chip EHCI
+ controller. It is needed for high-speed (480Mbit/sec)
+ USB 2.0 device support. All CN6XXX based chips with USB are
+ supported.
+
+endif # USB_EHCI_HCD
+
config USB_OXU210HP_HCD
tristate "OXU210HP HCD support"
depends on GENERIC_HARDIRQS
@@ -420,15 +442,6 @@ config USB_OHCI_HCD_PLATFORM

If unsure, say N.

-config USB_EHCI_HCD_PLATFORM
- tristate "Generic EHCI driver for a platform device"
- depends on USB_EHCI_HCD
- default n
- ---help---
- Adds an EHCI host driver for a generic platform device, which
- provides a memory space and an irq.
-
- If unsure, say N.

config USB_OHCI_BIG_ENDIAN_DESC
bool
@@ -621,16 +634,6 @@ config USB_IMX21_HCD
To compile this driver as a module, choose M here: the
module will be called "imx21-hcd".

-config USB_OCTEON_EHCI
- bool "Octeon on-chip EHCI support"
- depends on USB_EHCI_HCD && CPU_CAVIUM_OCTEON
- default n
- select USB_EHCI_BIG_ENDIAN_MMIO
- help
- Enable support for the Octeon II SOC's on-chip EHCI
- controller. It is needed for high-speed (480Mbit/sec)
- USB 2.0 device support. All CN6XXX based chips with USB are
- supported.

config USB_OCTEON_OHCI
bool "Octeon on-chip OHCI support"
--
1.7.10.4

2013-03-26 18:07:13

by Florian Fainelli

[permalink] [raw]
Subject: [RFC PATCH 5/5] USB: enclose USB_XHCI_HCD related symbols within a if USB_XHCI_HCD block

This patch encloses all symbols depending on USB_XHCI_HCD within an if
USB_XHCI_HCD / endif block.

Signed-off-by: Florian Fainelli <[email protected]>
---
drivers/usb/host/Kconfig | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/usb/host/Kconfig b/drivers/usb/host/Kconfig
index c5dfc08..be7b7cc 100644
--- a/drivers/usb/host/Kconfig
+++ b/drivers/usb/host/Kconfig
@@ -25,13 +25,13 @@ config USB_XHCI_HCD
To compile this driver as a module, choose M here: the
module will be called xhci-hcd.

+if USB_XHCI_HCD
+
config USB_XHCI_PLATFORM
tristate
- depends on USB_XHCI_HCD

config USB_XHCI_HCD_DEBUGGING
bool "Debugging for the xHCI host controller"
- depends on USB_XHCI_HCD
---help---
Say 'Y' to turn on debugging for the xHCI host controller driver.
This will spew debugging output, even in interrupt context.
@@ -39,6 +39,8 @@ config USB_XHCI_HCD_DEBUGGING

If unsure, say N.

+endif # USB_XHCI_HCD
+
config USB_EHCI_HCD
tristate "EHCI HCD (USB 2.0) support"
depends on USB_ARCH_HAS_EHCI
--
1.7.10.4

2013-03-26 18:08:09

by Florian Fainelli

[permalink] [raw]
Subject: [RFC PATCH 2/5] USB: remove USB_EHCI_BIG_ENDIAN_{DESC,MMIO} depends on architecture symbol

Just like the OHCI counter part we just can remove the architecture
specific symbols which prevent these configuration symbols from being
selected by platforms/architectures requiring it. The original
implementation did not scale at all since it required each and every
single architecture to be added for these configuration symbols to be
selected. Now it is up to the EHCI driver and/or platform to select
these configuration symbols accordingly.

Signed-off-by: Florian Fainelli <[email protected]>
---
arch/arm/Kconfig | 2 ++
arch/mips/Kconfig | 3 +++
arch/powerpc/platforms/44x/Kconfig | 2 ++
arch/powerpc/platforms/52xx/Kconfig | 2 ++
arch/sparc/Kconfig | 2 ++
drivers/usb/host/Kconfig | 13 ++++---------
6 files changed, 15 insertions(+), 9 deletions(-)

diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 13b7394..6100e6e 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -549,6 +549,8 @@ config ARCH_IXP4XX
select GENERIC_CLOCKEVENTS
select MIGHT_HAVE_PCI
select NEED_MACH_IO_H
+ select USB_EHCI_BIG_ENDIAN_MMIO
+ select USB_EHCI_BIG_ENDIAN_DESC
help
Support for Intel's IXP4XX (XScale) family of processors.

diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
index cd2e21f..a46a0b0 100644
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
@@ -404,6 +404,8 @@ config PMC_MSP
select IRQ_CPU
select SERIAL_8250
select SERIAL_8250_CONSOLE
+ select USB_EHCI_BIG_ENDIAN_MMIO
+ select USB_EHCI_BIG_ENDIAN_DESC
help
This adds support for the PMC-Sierra family of Multi-Service
Processor System-On-A-Chips. These parts include a number
@@ -1433,6 +1435,7 @@ config CPU_CAVIUM_OCTEON
select CPU_SUPPORTS_HUGEPAGES
select LIBFDT
select USE_OF
+ select USB_EHCI_BIG_ENDIAN_MMIO
help
The Cavium Octeon processor is a highly integrated chip containing
many ethernet hardware widgets for networking tasks. The processor
diff --git a/arch/powerpc/platforms/44x/Kconfig b/arch/powerpc/platforms/44x/Kconfig
index 0effe9f..7be9336 100644
--- a/arch/powerpc/platforms/44x/Kconfig
+++ b/arch/powerpc/platforms/44x/Kconfig
@@ -274,6 +274,8 @@ config 440EPX
select IBM_EMAC_EMAC4
select IBM_EMAC_RGMII
select IBM_EMAC_ZMII
+ select USB_EHCI_BIG_ENDIAN_MMIO
+ select USB_EHCI_BIG_ENDIAN_DESC

config 440GRX
bool
diff --git a/arch/powerpc/platforms/52xx/Kconfig b/arch/powerpc/platforms/52xx/Kconfig
index 90f4496..65232cb 100644
--- a/arch/powerpc/platforms/52xx/Kconfig
+++ b/arch/powerpc/platforms/52xx/Kconfig
@@ -3,6 +3,8 @@ config PPC_MPC52xx
depends on 6xx
select PPC_CLOCK
select PPC_PCI_CHOICE
+ select USB_EHCI_BIG_ENDIAN_MMIO
+ select USB_EHCI_BIG_ENDIAN_DESC

config PPC_MPC5200_SIMPLE
bool "Generic support for simple MPC5200 based boards"
diff --git a/arch/sparc/Kconfig b/arch/sparc/Kconfig
index 3d361f2..66dc562 100644
--- a/arch/sparc/Kconfig
+++ b/arch/sparc/Kconfig
@@ -407,6 +407,8 @@ config SERIAL_CONSOLE
config SPARC_LEON
bool "Sparc Leon processor family"
depends on SPARC32
+ select USB_EHCI_BIG_ENDIAN_MMIO
+ select USB_EHCI_BIG_ENDIAN_DESC
---help---
If you say Y here if you are running on a SPARC-LEON processor.
The LEON processor is a synthesizable VHDL model of the
diff --git a/drivers/usb/host/Kconfig b/drivers/usb/host/Kconfig
index 7f4ccf7..1b63fae 100644
--- a/drivers/usb/host/Kconfig
+++ b/drivers/usb/host/Kconfig
@@ -110,18 +110,13 @@ config USB_EHCI_HCD_PMC_MSP

config USB_EHCI_BIG_ENDIAN_MMIO
bool
- depends on USB_EHCI_HCD && (PPC_CELLEB || PPC_PS3 || 440EPX || \
- ARCH_IXP4XX || XPS_USB_HCD_XILINX || \
- PPC_MPC512x || CPU_CAVIUM_OCTEON || \
- PMC_MSP || SPARC_LEON || MIPS_SEAD3)
- default y
+ depends on USB_EHCI_HCD
+ default n

config USB_EHCI_BIG_ENDIAN_DESC
bool
- depends on USB_EHCI_HCD && (440EPX || ARCH_IXP4XX || XPS_USB_HCD_XILINX || \
- PPC_MPC512x || PMC_MSP || SPARC_LEON || \
- MIPS_SEAD3)
- default y
+ depends on USB_EHCI_HCD
+ default n

config XPS_USB_HCD_XILINX
bool "Use Xilinx usb host EHCI controller core"
--
1.7.10.4

2013-03-26 18:08:08

by Florian Fainelli

[permalink] [raw]
Subject: [RFC PATCH 4/5] USB: enclose all depends on USB_OHCI_HCD within an if USB_OHCI_HCD block

This patch removes the various depends on USB_OHCI_HCD from the OHCI HCD
drivers and enclose them within an if USB_OHCI_HCD / endif block. The
Octeon OHCI HCD driver has been moved around to remain in this block.

Signed-off-by: Florian Fainelli <[email protected]>
---
drivers/usb/host/Kconfig | 51 +++++++++++++++++++++++-----------------------
1 file changed, 26 insertions(+), 25 deletions(-)

diff --git a/drivers/usb/host/Kconfig b/drivers/usb/host/Kconfig
index 7a91712..c5dfc08 100644
--- a/drivers/usb/host/Kconfig
+++ b/drivers/usb/host/Kconfig
@@ -328,16 +328,18 @@ config USB_OHCI_HCD
To compile this driver as a module, choose M here: the
module will be called ohci-hcd.

+if USB_OHCI_HCD
+
config USB_OHCI_HCD_OMAP1
bool "OHCI support for OMAP1/2 chips"
- depends on USB_OHCI_HCD && ARCH_OMAP1
+ depends on ARCH_OMAP1
default y
---help---
Enables support for the OHCI controller on OMAP1/2 chips.

config USB_OHCI_HCD_OMAP3
bool "OHCI support for OMAP3 and later chips"
- depends on USB_OHCI_HCD && (ARCH_OMAP3 || ARCH_OMAP4)
+ depends on (ARCH_OMAP3 || ARCH_OMAP4)
default y
---help---
Enables support for the on-chip OHCI controller on
@@ -345,7 +347,7 @@ config USB_OHCI_HCD_OMAP3

config USB_OHCI_ATH79
bool "USB OHCI support for the Atheros AR71XX/AR7240 SoCs (DEPRECATED)"
- depends on USB_OHCI_HCD && (SOC_AR71XX || SOC_AR724X)
+ depends on (SOC_AR71XX || SOC_AR724X)
select USB_OHCI_HCD_PLATFORM
default y
help
@@ -357,7 +359,7 @@ config USB_OHCI_ATH79

config USB_OHCI_HCD_PPC_OF_BE
bool "OHCI support for OF platform bus (big endian)"
- depends on USB_OHCI_HCD && PPC_OF
+ depends on PPC_OF
select USB_OHCI_BIG_ENDIAN_DESC
select USB_OHCI_BIG_ENDIAN_MMIO
---help---
@@ -366,7 +368,7 @@ config USB_OHCI_HCD_PPC_OF_BE

config USB_OHCI_HCD_PPC_OF_LE
bool "OHCI support for OF platform bus (little endian)"
- depends on USB_OHCI_HCD && PPC_OF
+ depends on PPC_OF
select USB_OHCI_LITTLE_ENDIAN
---help---
Enables support for little-endian USB controllers present on the
@@ -374,12 +376,12 @@ config USB_OHCI_HCD_PPC_OF_LE

config USB_OHCI_HCD_PPC_OF
bool
- depends on USB_OHCI_HCD && PPC_OF
+ depends on PPC_OF
default USB_OHCI_HCD_PPC_OF_BE || USB_OHCI_HCD_PPC_OF_LE

config USB_OHCI_HCD_PCI
bool "OHCI support for PCI-bus USB controllers"
- depends on USB_OHCI_HCD && PCI && (STB03xxx || PPC_MPC52xx || USB_OHCI_HCD_PPC_OF)
+ depends on PCI && (STB03xxx || PPC_MPC52xx || USB_OHCI_HCD_PPC_OF)
default y
select USB_OHCI_LITTLE_ENDIAN
---help---
@@ -388,7 +390,7 @@ config USB_OHCI_HCD_PCI

config USB_OHCI_HCD_SSB
bool "OHCI support for Broadcom SSB OHCI core (DEPRECATED)"
- depends on USB_OHCI_HCD && (SSB = y || SSB = USB_OHCI_HCD)
+ depends on (SSB = y || SSB = USB_OHCI_HCD)
select USB_HCD_SSB
select USB_OHCI_HCD_PLATFORM
default n
@@ -406,7 +408,7 @@ config USB_OHCI_HCD_SSB

config USB_OHCI_SH
bool "OHCI support for SuperH USB controller (DEPRECATED)"
- depends on USB_OHCI_HCD && SUPERH
+ depends on SUPERH
select USB_OHCI_HCD_PLATFORM
---help---
This option is deprecated now and the driver was removed, use
@@ -417,13 +419,13 @@ config USB_OHCI_SH

config USB_OHCI_EXYNOS
boolean "OHCI support for Samsung EXYNOS SoC Series"
- depends on USB_OHCI_HCD && ARCH_EXYNOS
+ depends on ARCH_EXYNOS
help
Enable support for the Samsung Exynos SOC's on-chip OHCI controller.

config USB_CNS3XXX_OHCI
bool "Cavium CNS3XXX OHCI Module (DEPRECATED)"
- depends on USB_OHCI_HCD && ARCH_CNS3XXX
+ depends on ARCH_CNS3XXX
select USB_OHCI_HCD_PLATFORM
---help---
This option is deprecated now and the driver was removed, use
@@ -434,7 +436,6 @@ config USB_CNS3XXX_OHCI

config USB_OHCI_HCD_PLATFORM
bool "Generic OHCI driver for a platform device"
- depends on USB_OHCI_HCD
default n
---help---
Adds an OHCI host driver for a generic platform device, which
@@ -442,23 +443,33 @@ config USB_OHCI_HCD_PLATFORM

If unsure, say N.

+config USB_OCTEON_OHCI
+ bool "Octeon on-chip OHCI support"
+ depends on CPU_CAVIUM_OCTEON
+ default USB_OCTEON_EHCI
+ select USB_OHCI_BIG_ENDIAN_MMIO
+ select USB_OHCI_LITTLE_ENDIAN
+ help
+ Enable support for the Octeon II SOC's on-chip OHCI
+ controller. It is needed for low-speed USB 1.0 device
+ support. All CN6XXX based chips with USB are supported.
+

config USB_OHCI_BIG_ENDIAN_DESC
bool
- depends on USB_OHCI_HCD
default n

config USB_OHCI_BIG_ENDIAN_MMIO
bool
- depends on USB_OHCI_HCD
default n

config USB_OHCI_LITTLE_ENDIAN
bool
- depends on USB_OHCI_HCD
default n if STB03xxx || PPC_MPC52xx
default y

+endif # USB_OHCI_HCD
+
config USB_UHCI_HCD
tristate "UHCI HCD (most Intel and VIA) support"
depends on PCI || SPARC_LEON || ARCH_VT8500
@@ -635,16 +646,6 @@ config USB_IMX21_HCD
module will be called "imx21-hcd".


-config USB_OCTEON_OHCI
- bool "Octeon on-chip OHCI support"
- depends on USB_OHCI_HCD && CPU_CAVIUM_OCTEON
- default USB_OCTEON_EHCI
- select USB_OHCI_BIG_ENDIAN_MMIO
- select USB_OHCI_LITTLE_ENDIAN
- help
- Enable support for the Octeon II SOC's on-chip OHCI
- controller. It is needed for low-speed USB 1.0 device
- support. All CN6XXX based chips with USB are supported.

config USB_OCTEON2_COMMON
bool
--
1.7.10.4

2013-03-26 18:10:52

by Arnd Bergmann

[permalink] [raw]
Subject: Re: [RFC PATCH 2/5] USB: remove USB_EHCI_BIG_ENDIAN_{DESC,MMIO} depends on architecture symbol

On Tuesday 26 March 2013, Florian Fainelli wrote:
>
> Just like the OHCI counter part we just can remove the architecture
> specific symbols which prevent these configuration symbols from being
> selected by platforms/architectures requiring it. The original
> implementation did not scale at all since it required each and every
> single architecture to be added for these configuration symbols to be
> selected. Now it is up to the EHCI driver and/or platform to select
> these configuration symbols accordingly.
>
> Signed-off-by: Florian Fainelli <[email protected]>

Good idea, just one suggestion:

> config USB_EHCI_BIG_ENDIAN_MMIO
> bool
> - depends on USB_EHCI_HCD && (PPC_CELLEB || PPC_PS3 || 440EPX || \
> - ARCH_IXP4XX || XPS_USB_HCD_XILINX || \
> - PPC_MPC512x || CPU_CAVIUM_OCTEON || \
> - PMC_MSP || SPARC_LEON || MIPS_SEAD3)
> - default y
> + depends on USB_EHCI_HCD
> + default n
>
> config USB_EHCI_BIG_ENDIAN_DESC
> bool
> - depends on USB_EHCI_HCD && (440EPX || ARCH_IXP4XX || XPS_USB_HCD_XILINX || \
> - PPC_MPC512x || PMC_MSP || SPARC_LEON || \
> - MIPS_SEAD3)
> - default y
> + depends on USB_EHCI_HCD
> + default n
>
> config XPS_USB_HCD_XILINX
> bool "Use Xilinx usb host EHCI controller core"

You can drop the "default n" line as well, it's the default.

Arnd

2013-03-26 19:04:58

by Alan Stern

[permalink] [raw]
Subject: Re: [RFC PATCH 1/5] USB: drop depends on USB and enclose everything into an if USB block

On Tue, 26 Mar 2013, Florian Fainelli wrote:

> This patch removes the depends on USB from all config symbols in
> drivers/usb/host/Kconfig and replace that with an if USB / endif block
> as suggested by Alan Stern.

I'm afraid this patch is filled with errors.

For one thing, it doesn't appreciate the difference between host-side
USB and device-side USB. CONFIG_USB describes support for the
host-side part of the stack, whereas CONFIG_USB_GADGET describes
support for the device-side (or gadget-side) part. This means you must
not make things like drivers/usb/gadget/Kconfig dependent on
CONFIG_USB.

For another, the patch doesn't understand the difference between && and
||. As an example, putting chipidea/Kconfig inside "if USB" and then
doing this:

> --- a/drivers/usb/chipidea/Kconfig
> +++ b/drivers/usb/chipidea/Kconfig
> @@ -1,6 +1,6 @@
> config USB_CHIPIDEA
> tristate "ChipIdea Highspeed Dual Role Controller"
> - depends on USB || USB_GADGET
> + depends on USB_GADGET
> help
> Say Y here if your system has a dual role high speed USB
> controller based on ChipIdea silicon IP. Currently, only the

effectively changes the || to an &&. This is not what we want.

You need to be a lot more careful about the distinction between hosts
and gadgets. The situation becomes even more complicated when you
realize that some of the code applies to Dual-Role Devices, which can
be either hosts or gadgets (this includes OTG). In addition, there are
a few things (such as gadget/dummy_hcd.c) which require _both_
host-side and device-side support.

Alan Stern

2013-03-26 19:08:40

by Alan Stern

[permalink] [raw]
Subject: Re: [RFC PATCH 2/5] USB: remove USB_EHCI_BIG_ENDIAN_{DESC,MMIO} depends on architecture symbol

On Tue, 26 Mar 2013, Arnd Bergmann wrote:

> On Tuesday 26 March 2013, Florian Fainelli wrote:
> >
> > Just like the OHCI counter part we just can remove the architecture
> > specific symbols which prevent these configuration symbols from being
> > selected by platforms/architectures requiring it. The original
> > implementation did not scale at all since it required each and every
> > single architecture to be added for these configuration symbols to be
> > selected. Now it is up to the EHCI driver and/or platform to select
> > these configuration symbols accordingly.
> >
> > Signed-off-by: Florian Fainelli <[email protected]>
>
> Good idea, just one suggestion:
>
> > config USB_EHCI_BIG_ENDIAN_MMIO
> > bool
> > - depends on USB_EHCI_HCD && (PPC_CELLEB || PPC_PS3 || 440EPX || \
> > - ARCH_IXP4XX || XPS_USB_HCD_XILINX || \
> > - PPC_MPC512x || CPU_CAVIUM_OCTEON || \
> > - PMC_MSP || SPARC_LEON || MIPS_SEAD3)
> > - default y
> > + depends on USB_EHCI_HCD
> > + default n
> >
> > config USB_EHCI_BIG_ENDIAN_DESC
> > bool
> > - depends on USB_EHCI_HCD && (440EPX || ARCH_IXP4XX || XPS_USB_HCD_XILINX || \
> > - PPC_MPC512x || PMC_MSP || SPARC_LEON || \
> > - MIPS_SEAD3)
> > - default y
> > + depends on USB_EHCI_HCD
> > + default n
> >
> > config XPS_USB_HCD_XILINX
> > bool "Use Xilinx usb host EHCI controller core"
>
> You can drop the "default n" line as well, it's the default.

The "depends on USB_EHCI_HCD" isn't really needed either. The build
system might get confused if platform code selects
USB_EHCI_BIG_ENDIAN_DESC but for some reason USB_EHCI_HCD isn't
enabled.

Alan Stern

2013-03-26 20:03:27

by Florian Fainelli

[permalink] [raw]
Subject: Re: [RFC PATCH 1/5] USB: drop depends on USB and enclose everything into an if USB block

Le 26/03/2013 20:04, Alan Stern a ?crit :
> On Tue, 26 Mar 2013, Florian Fainelli wrote:
>
>> This patch removes the depends on USB from all config symbols in
>> drivers/usb/host/Kconfig and replace that with an if USB / endif block
>> as suggested by Alan Stern.
>
> I'm afraid this patch is filled with errors.

Which is the reason why I stated this was a RFC, I did not meant to get
it good for everything from the first try.

>
> For one thing, it doesn't appreciate the difference between host-side
> USB and device-side USB. CONFIG_USB describes support for the
> host-side part of the stack, whereas CONFIG_USB_GADGET describes
> support for the device-side (or gadget-side) part. This means you must
> not make things like drivers/usb/gadget/Kconfig dependent on
> CONFIG_USB.

Ok.

>
> For another, the patch doesn't understand the difference between && and
> ||. As an example, putting chipidea/Kconfig inside "if USB" and then
> doing this:
>
>> --- a/drivers/usb/chipidea/Kconfig
>> +++ b/drivers/usb/chipidea/Kconfig
>> @@ -1,6 +1,6 @@
>> config USB_CHIPIDEA
>> tristate "ChipIdea Highspeed Dual Role Controller"
>> - depends on USB || USB_GADGET
>> + depends on USB_GADGET
>> help
>> Say Y here if your system has a dual role high speed USB
>> controller based on ChipIdea silicon IP. Currently, only the
>
> effectively changes the || to an &&. This is not what we want.
>
> You need to be a lot more careful about the distinction between hosts
> and gadgets. The situation becomes even more complicated when you
> realize that some of the code applies to Dual-Role Devices, which can
> be either hosts or gadgets (this includes OTG). In addition, there are
> a few things (such as gadget/dummy_hcd.c) which require _both_
> host-side and device-side support.

Ok, thanks for the hint, I will address these issues.
--
Florian

2013-03-29 21:31:54

by Anatolij Gustschin

[permalink] [raw]
Subject: Re: [RFC PATCH 2/5] USB: remove USB_EHCI_BIG_ENDIAN_{DESC,MMIO} depends on architecture symbol

Hello Florian,

On Tue, 26 Mar 2013 19:06:14 +0100
Florian Fainelli <[email protected]> wrote:
...
> diff --git a/arch/powerpc/platforms/52xx/Kconfig b/arch/powerpc/platforms/52xx/Kconfig
> index 90f4496..65232cb 100644
> --- a/arch/powerpc/platforms/52xx/Kconfig
> +++ b/arch/powerpc/platforms/52xx/Kconfig
> @@ -3,6 +3,8 @@ config PPC_MPC52xx
> depends on 6xx
> select PPC_CLOCK
> select PPC_PCI_CHOICE
> + select USB_EHCI_BIG_ENDIAN_MMIO
> + select USB_EHCI_BIG_ENDIAN_DESC

Note that mpc52xx only has an OHCI controller, so this change here
is wrong. It belongs into arch/powerpc/platforms/512x/Kconfig.
mpc512x has an EHCI controller.

Thanks,

Anatolij

2013-04-02 17:05:45

by Florian Fainelli

[permalink] [raw]
Subject: [PATCH 0/5] USB: Kconfig cleanups

Hello Alan, Greg,

These 5 patches contain my Kconfig cleanup on which I based the removal
of the USB_ARCH_HAS_* patches. They have been suggested by Alan Stern
as part of an earlier conversations.

Let me know what you think about it so I can post subsequent work based
on it. This time I dropped the RFC from the subject.

Thanks!

Florian Fainelli (5):
USB: regroup all depends on USB within an if USB block
USB: remove USB_EHCI_BIG_ENDIAN_{DESC,MMIO} depends on architecture
symbol
USB: enclose EHCI HCD drivers within an if USB_EHCI_HCD block
USB: enclose all depends on USB_OHCI_HCD within an if USB_OHCI_HCD
block
USB: enclose USB_XHCI_HCD related symbols within a if USB_XHCI_HCD
block

arch/arm/Kconfig | 2 +
arch/mips/Kconfig | 3 +
arch/powerpc/platforms/44x/Kconfig | 2 +
arch/powerpc/platforms/512x/Kconfig | 2 +
arch/sparc/Kconfig | 2 +
drivers/usb/Kconfig | 21 +++--
drivers/usb/atm/Kconfig | 2 +-
drivers/usb/class/Kconfig | 6 +-
drivers/usb/core/Kconfig | 6 --
drivers/usb/host/Kconfig | 164 +++++++++++++++++------------------
drivers/usb/image/Kconfig | 4 +-
drivers/usb/misc/Kconfig | 21 -----
drivers/usb/misc/sisusbvga/Kconfig | 2 +-
drivers/usb/mon/Kconfig | 1 -
drivers/usb/musb/Kconfig | 1 -
drivers/usb/renesas_usbhs/Kconfig | 2 +-
drivers/usb/serial/Kconfig | 2 +-
drivers/usb/storage/Kconfig | 7 +-
drivers/usb/wusbcore/Kconfig | 2 -
19 files changed, 111 insertions(+), 141 deletions(-)

--
1.7.10.4

2013-04-02 17:05:52

by Florian Fainelli

[permalink] [raw]
Subject: [PATCH 1/5] USB: regroup all depends on USB within an if USB block

This patch removes the depends on USB from all config symbols in
drivers/usb/host/Kconfig and replace that with an if USB / endif block
as suggested by Alan Stern. Some source ... Kconfig lines have been
shuffled around to permit a better regroupment of the Kconfig files
depending on "config USB" item. No functionnal change is introduced.

Signed-off-by: Florian Fainelli <[email protected]>
---
Changes since RFC:
- only remove the "depends on USB" conditionnals and not more as
the RFC patch did

drivers/usb/Kconfig | 21 +++++++++++++--------
drivers/usb/atm/Kconfig | 2 +-
drivers/usb/class/Kconfig | 6 +-----
drivers/usb/core/Kconfig | 6 ------
drivers/usb/host/Kconfig | 30 +++++++++++-------------------
drivers/usb/image/Kconfig | 4 +---
drivers/usb/misc/Kconfig | 21 ---------------------
drivers/usb/misc/sisusbvga/Kconfig | 2 +-
drivers/usb/mon/Kconfig | 1 -
drivers/usb/musb/Kconfig | 1 -
drivers/usb/renesas_usbhs/Kconfig | 2 +-
drivers/usb/serial/Kconfig | 2 +-
drivers/usb/storage/Kconfig | 7 +++----
drivers/usb/wusbcore/Kconfig | 2 --
14 files changed, 33 insertions(+), 74 deletions(-)

diff --git a/drivers/usb/Kconfig b/drivers/usb/Kconfig
index 640ae6c..66ca16d 100644
--- a/drivers/usb/Kconfig
+++ b/drivers/usb/Kconfig
@@ -122,9 +122,9 @@ config USB
To compile this driver as a module, choose M here: the
module will be called usbcore.

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

-source "drivers/usb/dwc3/Kconfig"
+source "drivers/usb/core/Kconfig"

source "drivers/usb/mon/Kconfig"

@@ -134,8 +134,6 @@ source "drivers/usb/host/Kconfig"

source "drivers/usb/musb/Kconfig"

-source "drivers/usb/chipidea/Kconfig"
-
source "drivers/usb/renesas_usbhs/Kconfig"

source "drivers/usb/class/Kconfig"
@@ -144,12 +142,17 @@ source "drivers/usb/storage/Kconfig"

source "drivers/usb/image/Kconfig"

+endif
+
+source "drivers/usb/dwc3/Kconfig"
+
+source "drivers/usb/chipidea/Kconfig"
+
comment "USB port drivers"
- depends on USB

config USB_USS720
tristate "USS720 parport driver"
- depends on USB && PARPORT
+ depends on PARPORT
select PARPORT_NOT_PC
---help---
This driver is for USB parallel port adapters that use the Lucent
@@ -180,10 +183,12 @@ source "drivers/usb/serial/Kconfig"

source "drivers/usb/misc/Kconfig"

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

+endif # USB
+
+source "drivers/usb/phy/Kconfig"
+
source "drivers/usb/gadget/Kconfig"

source "drivers/usb/otg/Kconfig"
diff --git a/drivers/usb/atm/Kconfig b/drivers/usb/atm/Kconfig
index be0b8da..0f92294 100644
--- a/drivers/usb/atm/Kconfig
+++ b/drivers/usb/atm/Kconfig
@@ -4,7 +4,7 @@

menuconfig USB_ATM
tristate "USB DSL modem support"
- depends on USB && ATM
+ depends on ATM
select CRC32
default n
help
diff --git a/drivers/usb/class/Kconfig b/drivers/usb/class/Kconfig
index 316aac8..bb8b736 100644
--- a/drivers/usb/class/Kconfig
+++ b/drivers/usb/class/Kconfig
@@ -2,11 +2,10 @@
# USB Class driver configuration
#
comment "USB Device Class drivers"
- depends on USB

config USB_ACM
tristate "USB Modem (CDC ACM) support"
- depends on USB && TTY
+ depends on TTY
---help---
This driver supports USB modems and ISDN adapters which support the
Communication Device Class Abstract Control Model interface.
@@ -21,7 +20,6 @@ config USB_ACM

config USB_PRINTER
tristate "USB Printer support"
- depends on USB
help
Say Y here if you want to connect a USB printer to your computer's
USB port.
@@ -31,7 +29,6 @@ config USB_PRINTER

config USB_WDM
tristate "USB Wireless Device Management support"
- depends on USB
---help---
This driver supports the WMC Device Management functionality
of cell phones compliant to the CDC WMC specification. You can use
@@ -42,7 +39,6 @@ config USB_WDM

config USB_TMC
tristate "USB Test and Measurement Class support"
- depends on USB
help
Say Y here if you want to connect a USB device that follows
the USB.org specification for USB Test and Measurement devices
diff --git a/drivers/usb/core/Kconfig b/drivers/usb/core/Kconfig
index 7b7305e..8772b36 100644
--- a/drivers/usb/core/Kconfig
+++ b/drivers/usb/core/Kconfig
@@ -3,7 +3,6 @@
#
config USB_DEBUG
bool "USB verbose debug messages"
- depends on USB
help
Say Y here if you want the USB core & hub drivers to produce a bunch
of debug messages to the system log. Select this if you are having a
@@ -11,7 +10,6 @@ config USB_DEBUG

config USB_ANNOUNCE_NEW_DEVICES
bool "USB announce new devices"
- depends on USB
default N
help
Say Y here if you want the USB core to always announce the
@@ -25,11 +23,9 @@ config USB_ANNOUNCE_NEW_DEVICES
log, or have any doubts about this, say N here.

comment "Miscellaneous USB options"
- depends on USB

config USB_DEFAULT_PERSIST
bool "Enable USB persist by default"
- depends on USB
default y
help
Say N here if you don't want USB power session persistance
@@ -45,7 +41,6 @@ config USB_DEFAULT_PERSIST

config USB_DYNAMIC_MINORS
bool "Dynamic USB minor allocation"
- depends on USB
help
If you say Y here, the USB subsystem will use dynamic minor
allocation for any device that uses the USB major number.
@@ -56,7 +51,6 @@ config USB_DYNAMIC_MINORS

config USB_OTG
bool "OTG support"
- depends on USB
depends on USB_SUSPEND
default n
help
diff --git a/drivers/usb/host/Kconfig b/drivers/usb/host/Kconfig
index 2f68221..7f4ccf7 100644
--- a/drivers/usb/host/Kconfig
+++ b/drivers/usb/host/Kconfig
@@ -2,11 +2,9 @@
# USB Host Controller Drivers
#
comment "USB Host Controller Drivers"
- depends on USB

config USB_C67X00_HCD
tristate "Cypress C67x00 HCD support"
- depends on USB
help
The Cypress C67x00 (EZ-Host/EZ-OTG) chips are dual-role
host/peripheral/OTG USB controllers.
@@ -19,7 +17,7 @@ config USB_C67X00_HCD

config USB_XHCI_HCD
tristate "xHCI HCD (USB 3.0) support"
- depends on USB && USB_ARCH_HAS_XHCI
+ depends on USB_ARCH_HAS_XHCI
---help---
The eXtensible Host Controller Interface (xHCI) is standard for USB 3.0
"SuperSpeed" host controller hardware.
@@ -43,7 +41,7 @@ config USB_XHCI_HCD_DEBUGGING

config USB_EHCI_HCD
tristate "EHCI HCD (USB 2.0) support"
- depends on USB && USB_ARCH_HAS_EHCI
+ depends on USB_ARCH_HAS_EHCI
---help---
The Enhanced Host Controller Interface (EHCI) is standard for USB 2.0
"high speed" (480 Mbit/sec, 60 Mbyte/sec) host controller hardware.
@@ -247,7 +245,7 @@ config USB_EHCI_ATH79

config USB_OXU210HP_HCD
tristate "OXU210HP HCD support"
- depends on USB && GENERIC_HARDIRQS
+ depends on GENERIC_HARDIRQS
---help---
The OXU210HP is an USB host/OTG/device controller. Enable this
option if your board has this chip. If unsure, say N.
@@ -260,7 +258,6 @@ config USB_OXU210HP_HCD

config USB_ISP116X_HCD
tristate "ISP116X HCD support"
- depends on USB
---help---
The ISP1160 and ISP1161 chips are USB host controllers. Enable this
option if your board has this chip. If unsure, say N.
@@ -272,7 +269,6 @@ config USB_ISP116X_HCD

config USB_ISP1760_HCD
tristate "ISP 1760 HCD support"
- depends on USB
---help---
The ISP1760 chip is a USB 2.0 host controller.

@@ -287,7 +283,6 @@ config USB_ISP1760_HCD

config USB_ISP1362_HCD
tristate "ISP1362 HCD support"
- depends on USB
default N
---help---
Supports the Philips ISP1362 chip as a host controller
@@ -299,7 +294,7 @@ config USB_ISP1362_HCD

config USB_OHCI_HCD
tristate "OHCI HCD support"
- depends on USB && USB_ARCH_HAS_OHCI
+ depends on USB_ARCH_HAS_OHCI
select ISP1301_OMAP if MACH_OMAP_H2 || MACH_OMAP_H3
select USB_OTG_UTILS if ARCH_OMAP
depends on USB_ISP1301 || !ARCH_LPC32XX
@@ -458,7 +453,7 @@ config USB_OHCI_LITTLE_ENDIAN

config USB_UHCI_HCD
tristate "UHCI HCD (most Intel and VIA) support"
- depends on USB && (PCI || SPARC_LEON || ARCH_VT8500)
+ depends on PCI || SPARC_LEON || ARCH_VT8500
---help---
The Universal Host Controller Interface is a standard by Intel for
accessing the USB hardware in the PC (which is also called the USB
@@ -498,7 +493,7 @@ config USB_UHCI_BIG_ENDIAN_DESC

config USB_FHCI_HCD
tristate "Freescale QE USB Host Controller support"
- depends on USB && OF_GPIO && QE_GPIO && QUICC_ENGINE
+ depends on OF_GPIO && QE_GPIO && QUICC_ENGINE
select FSL_GTM
select QE_USB
help
@@ -515,7 +510,7 @@ config FHCI_DEBUG

config USB_U132_HCD
tristate "Elan U132 Adapter Host Controller"
- depends on USB && USB_FTDI_ELAN
+ depends on USB_FTDI_ELAN
default M
help
The U132 adapter is a USB to CardBus adapter specifically designed
@@ -543,7 +538,6 @@ config USB_U132_HCD

config USB_SL811_HCD
tristate "SL811HS HCD support"
- depends on USB
help
The SL811HS is a single-port USB controller that supports either
host side or peripheral side roles. Enable this option if your
@@ -575,7 +569,6 @@ config USB_SL811_CS

config USB_R8A66597_HCD
tristate "R8A66597 HCD support"
- depends on USB
help
The R8A66597 is a USB 2.0 host and peripheral controller.

@@ -587,7 +580,6 @@ config USB_R8A66597_HCD

config USB_RENESAS_USBHS_HCD
tristate "Renesas USBHS HCD support"
- depends on USB
depends on USB_RENESAS_USBHS
help
The Renesas USBHS is a USB 2.0 host and peripheral controller.
@@ -612,7 +604,7 @@ config USB_WHCI_HCD

config USB_HWA_HCD
tristate "Host Wire Adapter (HWA) driver"
- depends on USB && UWB
+ depends on UWB
select USB_WUSB
select UWB_HWA
help
@@ -626,7 +618,7 @@ config USB_HWA_HCD

config USB_IMX21_HCD
tristate "i.MX21 HCD support"
- depends on USB && ARM && ARCH_MXC
+ depends on ARM && ARCH_MXC
help
This driver enables support for the on-chip USB host in the
i.MX21 processor.
@@ -636,7 +628,7 @@ config USB_IMX21_HCD

config USB_OCTEON_EHCI
bool "Octeon on-chip EHCI support"
- depends on USB && USB_EHCI_HCD && CPU_CAVIUM_OCTEON
+ depends on USB_EHCI_HCD && CPU_CAVIUM_OCTEON
default n
select USB_EHCI_BIG_ENDIAN_MMIO
help
@@ -647,7 +639,7 @@ config USB_OCTEON_EHCI

config USB_OCTEON_OHCI
bool "Octeon on-chip OHCI support"
- depends on USB && USB_OHCI_HCD && CPU_CAVIUM_OCTEON
+ depends on USB_OHCI_HCD && CPU_CAVIUM_OCTEON
default USB_OCTEON_EHCI
select USB_OHCI_BIG_ENDIAN_MMIO
select USB_OHCI_LITTLE_ENDIAN
diff --git a/drivers/usb/image/Kconfig b/drivers/usb/image/Kconfig
index 33350f9..320d368 100644
--- a/drivers/usb/image/Kconfig
+++ b/drivers/usb/image/Kconfig
@@ -2,11 +2,9 @@
# USB Imaging devices configuration
#
comment "USB Imaging devices"
- depends on USB

config USB_MDC800
tristate "USB Mustek MDC800 Digital Camera support"
- depends on USB
---help---
Say Y here if you want to connect this type of still camera to
your computer's USB port. This driver can be used with gphoto 0.4.3
@@ -19,7 +17,7 @@ config USB_MDC800

config USB_MICROTEK
tristate "Microtek X6USB scanner support"
- depends on USB && SCSI
+ depends on SCSI
help
Say Y here if you want support for the Microtek X6USB and
possibly the Phantom 336CX, Phantom C6 and ScanMaker V6U(S)L.
diff --git a/drivers/usb/misc/Kconfig b/drivers/usb/misc/Kconfig
index 3b1a3f4..a51e7d6 100644
--- a/drivers/usb/misc/Kconfig
+++ b/drivers/usb/misc/Kconfig
@@ -2,11 +2,9 @@
# USB Miscellaneous driver configuration
#
comment "USB Miscellaneous drivers"
- depends on USB

config USB_EMI62
tristate "EMI 6|2m USB Audio interface support"
- depends on USB
---help---
This driver loads firmware to Emagic EMI 6|2m low latency USB
Audio and Midi interface.
@@ -21,7 +19,6 @@ config USB_EMI62

config USB_EMI26
tristate "EMI 2|6 USB Audio interface support"
- depends on USB
---help---
This driver loads firmware to Emagic EMI 2|6 low latency USB
Audio interface.
@@ -34,7 +31,6 @@ config USB_EMI26

config USB_ADUTUX
tristate "ADU devices from Ontrak Control Systems"
- depends on USB
help
Say Y if you want to use an ADU device from Ontrak Control
Systems.
@@ -44,7 +40,6 @@ config USB_ADUTUX

config USB_SEVSEG
tristate "USB 7-Segment LED Display"
- depends on USB
help
Say Y here if you have a USB 7-Segment Display by Delcom

@@ -53,7 +48,6 @@ config USB_SEVSEG

config USB_RIO500
tristate "USB Diamond Rio500 support"
- depends on USB
help
Say Y here if you want to connect a USB Rio500 mp3 player to your
computer's USB port. Please read <file:Documentation/usb/rio.txt>
@@ -64,7 +58,6 @@ config USB_RIO500

config USB_LEGOTOWER
tristate "USB Lego Infrared Tower support"
- depends on USB
help
Say Y here if you want to connect a USB Lego Infrared Tower to your
computer's USB port.
@@ -77,7 +70,6 @@ config USB_LEGOTOWER

config USB_LCD
tristate "USB LCD driver support"
- depends on USB
help
Say Y here if you want to connect an USBLCD to your computer's
USB port. The USBLCD is a small USB interface board for
@@ -89,7 +81,6 @@ config USB_LCD

config USB_LED
tristate "USB LED driver support"
- depends on USB
help
Say Y here if you want to connect an USBLED device to your
computer's USB port.
@@ -99,7 +90,6 @@ config USB_LED

config USB_CYPRESS_CY7C63
tristate "Cypress CY7C63xxx USB driver support"
- depends on USB
help
Say Y here if you want to connect a Cypress CY7C63xxx
micro controller to your computer's USB port. Currently this
@@ -113,7 +103,6 @@ config USB_CYPRESS_CY7C63

config USB_CYTHERM
tristate "Cypress USB thermometer driver support"
- depends on USB
help
Say Y here if you want to connect a Cypress USB thermometer
device to your computer's USB port. This device is also known
@@ -126,7 +115,6 @@ config USB_CYTHERM

config USB_IDMOUSE
tristate "Siemens ID USB Mouse Fingerprint sensor support"
- depends on USB
help
Say Y here if you want to use the fingerprint sensor on
the Siemens ID Mouse. There is also a Siemens ID Mouse
@@ -140,7 +128,6 @@ config USB_IDMOUSE

config USB_FTDI_ELAN
tristate "Elan PCMCIA CardBus Adapter USB Client"
- depends on USB
default M
help
ELAN's Uxxx series of adapters are USB to PCMCIA CardBus adapters.
@@ -164,7 +151,6 @@ config USB_FTDI_ELAN

config USB_APPLEDISPLAY
tristate "Apple Cinema Display support"
- depends on USB
select BACKLIGHT_LCD_SUPPORT
select BACKLIGHT_CLASS_DEVICE
help
@@ -175,7 +161,6 @@ source "drivers/usb/misc/sisusbvga/Kconfig"

config USB_LD
tristate "USB LD driver"
- depends on USB
help
This driver is for generic USB devices that use interrupt transfers,
like LD Didactic's USB devices.
@@ -185,7 +170,6 @@ config USB_LD

config USB_TRANCEVIBRATOR
tristate "PlayStation 2 Trance Vibrator driver support"
- depends on USB
help
Say Y here if you want to connect a PlayStation 2 Trance Vibrator
device to your computer's USB port.
@@ -195,7 +179,6 @@ config USB_TRANCEVIBRATOR

config USB_IOWARRIOR
tristate "IO Warrior driver support"
- depends on USB
help
Say Y here if you want to support the IO Warrior devices from Code
Mercenaries. This includes support for the following devices:
@@ -209,7 +192,6 @@ config USB_IOWARRIOR

config USB_TEST
tristate "USB testing driver"
- depends on USB
help
This driver is for testing host controller software. It is used
with specialized device firmware for regression and stress testing,
@@ -220,7 +202,6 @@ config USB_TEST

config USB_ISIGHTFW
tristate "iSight firmware loading support"
- depends on USB
select FW_LOADER
help
This driver loads firmware for USB Apple iSight cameras, allowing
@@ -233,7 +214,6 @@ config USB_ISIGHTFW

config USB_YUREX
tristate "USB YUREX driver support"
- depends on USB
help
Say Y here if you want to connect a YUREX to your computer's
USB port. The YUREX is a leg-shakes sensor. See
@@ -246,7 +226,6 @@ config USB_YUREX

config USB_EZUSB_FX2
tristate "Functions for loading firmware on EZUSB chips"
- depends on USB
help
Say Y here if you need EZUSB device support.
(Cypress FX/FX2/FX2LP microcontrollers)
diff --git a/drivers/usb/misc/sisusbvga/Kconfig b/drivers/usb/misc/sisusbvga/Kconfig
index 30ea7ca..0d03a52 100644
--- a/drivers/usb/misc/sisusbvga/Kconfig
+++ b/drivers/usb/misc/sisusbvga/Kconfig
@@ -1,7 +1,7 @@

config USB_SISUSBVGA
tristate "USB 2.0 SVGA dongle support (Net2280/SiS315)"
- depends on USB && (USB_MUSB_HDRC || USB_EHCI_HCD)
+ depends on (USB_MUSB_HDRC || USB_EHCI_HCD)
---help---
Say Y here if you intend to attach a USB2VGA dongle based on a
Net2280 and a SiS315 chip.
diff --git a/drivers/usb/mon/Kconfig b/drivers/usb/mon/Kconfig
index 635745f..5c6ffa2 100644
--- a/drivers/usb/mon/Kconfig
+++ b/drivers/usb/mon/Kconfig
@@ -4,7 +4,6 @@

config USB_MON
tristate "USB Monitor"
- depends on USB
help
If you select this option, a component which captures the USB traffic
between peripheral-specific drivers and HC drivers will be built.
diff --git a/drivers/usb/musb/Kconfig b/drivers/usb/musb/Kconfig
index 05e5143..ab5a3b9 100644
--- a/drivers/usb/musb/Kconfig
+++ b/drivers/usb/musb/Kconfig
@@ -6,7 +6,6 @@
# (M)HDRC = (Multipoint) Highspeed Dual-Role Controller
config USB_MUSB_HDRC
tristate 'Inventra Highspeed Dual Role Controller (TI, ADI, ...)'
- depends on USB && USB_GADGET
select USB_OTG_UTILS
help
Say Y here if your system has a dual role high speed USB
diff --git a/drivers/usb/renesas_usbhs/Kconfig b/drivers/usb/renesas_usbhs/Kconfig
index 29feb00..019bf7e 100644
--- a/drivers/usb/renesas_usbhs/Kconfig
+++ b/drivers/usb/renesas_usbhs/Kconfig
@@ -4,7 +4,7 @@

config USB_RENESAS_USBHS
tristate 'Renesas USBHS controller'
- depends on USB && USB_GADGET && GENERIC_HARDIRQS
+ depends on USB_GADGET && GENERIC_HARDIRQS
default n
help
Renesas USBHS is a discrete USB host and peripheral controller chip
diff --git a/drivers/usb/serial/Kconfig b/drivers/usb/serial/Kconfig
index 17b7f9a..bf37336 100644
--- a/drivers/usb/serial/Kconfig
+++ b/drivers/usb/serial/Kconfig
@@ -4,7 +4,7 @@

menuconfig USB_SERIAL
tristate "USB Serial Converter support"
- depends on USB && TTY
+ depends on TTY
---help---
Say Y here if you have a USB device that provides normal serial
ports, or acts like a serial device, and you want to connect it to
diff --git a/drivers/usb/storage/Kconfig b/drivers/usb/storage/Kconfig
index eab04a6..8470e1b 100644
--- a/drivers/usb/storage/Kconfig
+++ b/drivers/usb/storage/Kconfig
@@ -4,11 +4,10 @@

comment "NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may"
comment "also be needed; see USB_STORAGE Help for more info"
- depends on USB

config USB_STORAGE
tristate "USB Mass Storage support"
- depends on USB && SCSI
+ depends on SCSI
---help---
Say Y here if you want to connect USB mass storage devices to your
computer's USB port. This is the driver you need for USB
@@ -188,7 +187,7 @@ config USB_STORAGE_CYPRESS_ATACB

config USB_STORAGE_ENE_UB6250
tristate "USB ENE card reader support"
- depends on USB && SCSI
+ depends on SCSI
depends on USB_STORAGE
---help---
Say Y here if you wish to control a ENE SD/MS Card reader.
@@ -203,7 +202,7 @@ config USB_STORAGE_ENE_UB6250

config USB_UAS
tristate "USB Attached SCSI"
- depends on USB && SCSI && BROKEN
+ depends on SCSI && BROKEN
help
The USB Attached SCSI protocol is supported by some USB
storage devices. It permits higher performance by supporting
diff --git a/drivers/usb/wusbcore/Kconfig b/drivers/usb/wusbcore/Kconfig
index 8bf1976..0e17b96 100644
--- a/drivers/usb/wusbcore/Kconfig
+++ b/drivers/usb/wusbcore/Kconfig
@@ -3,7 +3,6 @@
#
config USB_WUSB
tristate "Enable Wireless USB extensions"
- depends on USB
depends on PCI
depends on UWB
select CRYPTO
@@ -19,7 +18,6 @@ config USB_WUSB

config USB_WUSB_CBAF
tristate "Support WUSB Cable Based Association (CBA)"
- depends on USB
help
Some WUSB devices support Cable Based Association. It's used to
enable the secure communication between the host and the
--
1.7.10.4

2013-04-02 17:06:27

by Florian Fainelli

[permalink] [raw]
Subject: [PATCH 5/5] USB: enclose USB_XHCI_HCD related symbols within a if USB_XHCI_HCD block

This patch encloses all symbols depending on USB_XHCI_HCD within an if
USB_XHCI_HCD / endif block.

Signed-off-by: Florian Fainelli <[email protected]>
---
drivers/usb/host/Kconfig | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/usb/host/Kconfig b/drivers/usb/host/Kconfig
index 475c508..a96a979 100644
--- a/drivers/usb/host/Kconfig
+++ b/drivers/usb/host/Kconfig
@@ -25,13 +25,13 @@ config USB_XHCI_HCD
To compile this driver as a module, choose M here: the
module will be called xhci-hcd.

+if USB_XHCI_HCD
+
config USB_XHCI_PLATFORM
tristate
- depends on USB_XHCI_HCD

config USB_XHCI_HCD_DEBUGGING
bool "Debugging for the xHCI host controller"
- depends on USB_XHCI_HCD
---help---
Say 'Y' to turn on debugging for the xHCI host controller driver.
This will spew debugging output, even in interrupt context.
@@ -39,6 +39,8 @@ config USB_XHCI_HCD_DEBUGGING

If unsure, say N.

+endif # USB_XHCI_HCD
+
config USB_EHCI_HCD
tristate "EHCI HCD (USB 2.0) support"
depends on USB_ARCH_HAS_EHCI
--
1.7.10.4

2013-04-02 17:06:25

by Florian Fainelli

[permalink] [raw]
Subject: [PATCH 2/5] USB: remove USB_EHCI_BIG_ENDIAN_{DESC,MMIO} depends on architecture symbol

Just like the OHCI counter part we just can remove the architecture
specific symbols which prevent these configuration symbols from being
selected by platforms/architectures requiring it. The original
implementation did not scale at all since it required each and every
single architecture to be added for these configuration symbols to be
selected. Now it is up to the EHCI driver and/or platform to select
these configuration symbols accordingly.

Signed-off-by: Florian Fainelli <[email protected]>
---
Changes since RFC:
- dropped default n for USB_EHCI_BIG_ENDIAN_{MMIO_DESC} as it is the default
- properly patch MPC521x and not MPC52xx

arch/arm/Kconfig | 2 ++
arch/mips/Kconfig | 3 +++
arch/powerpc/platforms/44x/Kconfig | 2 ++
arch/powerpc/platforms/512x/Kconfig | 2 ++
arch/sparc/Kconfig | 2 ++
drivers/usb/host/Kconfig | 11 ++---------
6 files changed, 13 insertions(+), 9 deletions(-)

diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 13b7394..6100e6e 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -549,6 +549,8 @@ config ARCH_IXP4XX
select GENERIC_CLOCKEVENTS
select MIGHT_HAVE_PCI
select NEED_MACH_IO_H
+ select USB_EHCI_BIG_ENDIAN_MMIO
+ select USB_EHCI_BIG_ENDIAN_DESC
help
Support for Intel's IXP4XX (XScale) family of processors.

diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
index cd2e21f..a46a0b0 100644
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
@@ -404,6 +404,8 @@ config PMC_MSP
select IRQ_CPU
select SERIAL_8250
select SERIAL_8250_CONSOLE
+ select USB_EHCI_BIG_ENDIAN_MMIO
+ select USB_EHCI_BIG_ENDIAN_DESC
help
This adds support for the PMC-Sierra family of Multi-Service
Processor System-On-A-Chips. These parts include a number
@@ -1433,6 +1435,7 @@ config CPU_CAVIUM_OCTEON
select CPU_SUPPORTS_HUGEPAGES
select LIBFDT
select USE_OF
+ select USB_EHCI_BIG_ENDIAN_MMIO
help
The Cavium Octeon processor is a highly integrated chip containing
many ethernet hardware widgets for networking tasks. The processor
diff --git a/arch/powerpc/platforms/44x/Kconfig b/arch/powerpc/platforms/44x/Kconfig
index 0effe9f..7be9336 100644
--- a/arch/powerpc/platforms/44x/Kconfig
+++ b/arch/powerpc/platforms/44x/Kconfig
@@ -274,6 +274,8 @@ config 440EPX
select IBM_EMAC_EMAC4
select IBM_EMAC_RGMII
select IBM_EMAC_ZMII
+ select USB_EHCI_BIG_ENDIAN_MMIO
+ select USB_EHCI_BIG_ENDIAN_DESC

config 440GRX
bool
diff --git a/arch/powerpc/platforms/512x/Kconfig b/arch/powerpc/platforms/512x/Kconfig
index c169998..381a592 100644
--- a/arch/powerpc/platforms/512x/Kconfig
+++ b/arch/powerpc/platforms/512x/Kconfig
@@ -7,6 +7,8 @@ config PPC_MPC512x
select PPC_PCI_CHOICE
select FSL_PCI if PCI
select ARCH_WANT_OPTIONAL_GPIOLIB
+ select USB_EHCI_BIG_ENDIAN_MMIO
+ select USB_EHCI_BIG_ENDIAN_DESC

config MPC5121_ADS
bool "Freescale MPC5121E ADS"
diff --git a/arch/sparc/Kconfig b/arch/sparc/Kconfig
index 3d361f2..66dc562 100644
--- a/arch/sparc/Kconfig
+++ b/arch/sparc/Kconfig
@@ -407,6 +407,8 @@ config SERIAL_CONSOLE
config SPARC_LEON
bool "Sparc Leon processor family"
depends on SPARC32
+ select USB_EHCI_BIG_ENDIAN_MMIO
+ select USB_EHCI_BIG_ENDIAN_DESC
---help---
If you say Y here if you are running on a SPARC-LEON processor.
The LEON processor is a synthesizable VHDL model of the
diff --git a/drivers/usb/host/Kconfig b/drivers/usb/host/Kconfig
index 7f4ccf7..a330549 100644
--- a/drivers/usb/host/Kconfig
+++ b/drivers/usb/host/Kconfig
@@ -110,18 +110,11 @@ config USB_EHCI_HCD_PMC_MSP

config USB_EHCI_BIG_ENDIAN_MMIO
bool
- depends on USB_EHCI_HCD && (PPC_CELLEB || PPC_PS3 || 440EPX || \
- ARCH_IXP4XX || XPS_USB_HCD_XILINX || \
- PPC_MPC512x || CPU_CAVIUM_OCTEON || \
- PMC_MSP || SPARC_LEON || MIPS_SEAD3)
- default y
+ depends on USB_EHCI_HCD

config USB_EHCI_BIG_ENDIAN_DESC
bool
- depends on USB_EHCI_HCD && (440EPX || ARCH_IXP4XX || XPS_USB_HCD_XILINX || \
- PPC_MPC512x || PMC_MSP || SPARC_LEON || \
- MIPS_SEAD3)
- default y
+ depends on USB_EHCI_HCD

config XPS_USB_HCD_XILINX
bool "Use Xilinx usb host EHCI controller core"
--
1.7.10.4

2013-04-02 17:06:56

by Florian Fainelli

[permalink] [raw]
Subject: [PATCH 3/5] USB: enclose EHCI HCD drivers within an if USB_EHCI_HCD block

Thist patch removes the depends on USB_EHCI_HCD that the various USB
EHCI HCD drivers use and encloses every driver within an if USB_EHCI_HCD
/ endif block. The EHCI HCD platform and Octeon drivers have been moved
around to remain enclosed within this block.

Signed-off-by: Florian Fainelli <[email protected]>
---
drivers/usb/host/Kconfig | 74 ++++++++++++++++++++++++----------------------
1 file changed, 39 insertions(+), 35 deletions(-)

diff --git a/drivers/usb/host/Kconfig b/drivers/usb/host/Kconfig
index a330549..e4faca0 100644
--- a/drivers/usb/host/Kconfig
+++ b/drivers/usb/host/Kconfig
@@ -93,14 +93,16 @@ config USB_EHCI_TT_NEWSCHED

If unsure, say Y.

+if USB_EHCI_HCD
+
config USB_EHCI_PCI
tristate
- depends on USB_EHCI_HCD && PCI
+ depends on PCI
default y

config USB_EHCI_HCD_PMC_MSP
tristate "EHCI support for on-chip PMC MSP71xx USB controller"
- depends on USB_EHCI_HCD && MSP_HAS_USB
+ depends on MSP_HAS_USB
default n
select USB_EHCI_BIG_ENDIAN_DESC
select USB_EHCI_BIG_ENDIAN_MMIO
@@ -110,7 +112,6 @@ config USB_EHCI_HCD_PMC_MSP

config USB_EHCI_BIG_ENDIAN_MMIO
bool
- depends on USB_EHCI_HCD

config USB_EHCI_BIG_ENDIAN_DESC
bool
@@ -118,7 +119,7 @@ config USB_EHCI_BIG_ENDIAN_DESC

config XPS_USB_HCD_XILINX
bool "Use Xilinx usb host EHCI controller core"
- depends on USB_EHCI_HCD && (PPC32 || MICROBLAZE)
+ depends on (PPC32 || MICROBLAZE)
select USB_EHCI_BIG_ENDIAN_DESC
select USB_EHCI_BIG_ENDIAN_MMIO
---help---
@@ -132,7 +133,7 @@ config USB_FSL_MPH_DR_OF

config USB_EHCI_FSL
bool "Support for Freescale PPC on-chip EHCI USB controller"
- depends on USB_EHCI_HCD && FSL_SOC
+ depends on FSL_SOC
select USB_EHCI_ROOT_HUB_TT
select USB_FSL_MPH_DR_OF if OF
---help---
@@ -140,14 +141,14 @@ config USB_EHCI_FSL

config USB_EHCI_MXC
tristate "Support for Freescale i.MX on-chip EHCI USB controller"
- depends on USB_EHCI_HCD && ARCH_MXC
+ depends on ARCH_MXC
select USB_EHCI_ROOT_HUB_TT
---help---
Variation of ARC USB block used in some Freescale chips.

config USB_EHCI_HCD_OMAP
tristate "EHCI support for OMAP3 and later chips"
- depends on USB_EHCI_HCD && ARCH_OMAP
+ depends on ARCH_OMAP
select NOP_USB_XCEIV
default y
---help---
@@ -156,7 +157,7 @@ config USB_EHCI_HCD_OMAP

config USB_EHCI_MSM
bool "Support for MSM on-chip EHCI USB controller"
- depends on USB_EHCI_HCD && ARCH_MSM
+ depends on ARCH_MSM
select USB_EHCI_ROOT_HUB_TT
select USB_MSM_OTG
---help---
@@ -169,7 +170,7 @@ config USB_EHCI_MSM

config USB_EHCI_TEGRA
boolean "NVIDIA Tegra HCD support"
- depends on USB_EHCI_HCD && ARCH_TEGRA
+ depends on ARCH_TEGRA
select USB_EHCI_ROOT_HUB_TT
help
This driver enables support for the internal USB Host Controllers
@@ -177,7 +178,7 @@ config USB_EHCI_TEGRA

config USB_EHCI_HCD_PPC_OF
bool "EHCI support for PPC USB controller on OF platform bus"
- depends on USB_EHCI_HCD && PPC_OF
+ depends on PPC_OF
default y
---help---
Enables support for the USB controller present on the PowerPC
@@ -185,20 +186,20 @@ config USB_EHCI_HCD_PPC_OF

config USB_EHCI_SH
bool "EHCI support for SuperH USB controller"
- depends on USB_EHCI_HCD && SUPERH
+ depends on SUPERH
---help---
Enables support for the on-chip EHCI controller on the SuperH.
If you use the PCI EHCI controller, this option is not necessary.

config USB_EHCI_S5P
boolean "S5P EHCI support"
- depends on USB_EHCI_HCD && PLAT_S5P
+ depends on PLAT_S5P
help
Enable support for the S5P SOC's on-chip EHCI controller.

config USB_EHCI_MV
bool "EHCI support for Marvell on-chip controller"
- depends on USB_EHCI_HCD && (ARCH_PXA || ARCH_MMP)
+ depends on (ARCH_PXA || ARCH_MMP)
select USB_EHCI_ROOT_HUB_TT
---help---
Enables support for Marvell (including PXA and MMP series) on-chip
@@ -207,13 +208,13 @@ config USB_EHCI_MV

config USB_W90X900_EHCI
bool "W90X900(W90P910) EHCI support"
- depends on USB_EHCI_HCD && ARCH_W90X900
+ depends on ARCH_W90X900
---help---
Enables support for the W90X900 USB controller

config USB_CNS3XXX_EHCI
bool "Cavium CNS3XXX EHCI Module (DEPRECATED)"
- depends on USB_EHCI_HCD && ARCH_CNS3XXX
+ depends on ARCH_CNS3XXX
select USB_EHCI_HCD_PLATFORM
---help---
This option is deprecated now and the driver was removed, use
@@ -225,7 +226,7 @@ config USB_CNS3XXX_EHCI

config USB_EHCI_ATH79
bool "EHCI support for AR7XXX/AR9XXX SoCs (DEPRECATED)"
- depends on USB_EHCI_HCD && (SOC_AR71XX || SOC_AR724X || SOC_AR913X || SOC_AR933X)
+ depends on (SOC_AR71XX || SOC_AR724X || SOC_AR913X || SOC_AR933X)
select USB_EHCI_ROOT_HUB_TT
select USB_EHCI_HCD_PLATFORM
default y
@@ -236,6 +237,28 @@ config USB_EHCI_ATH79
Enables support for the built-in EHCI controller present
on the Atheros AR7XXX/AR9XXX SoCs.

+config USB_EHCI_HCD_PLATFORM
+ tristate "Generic EHCI driver for a platform device"
+ default n
+ ---help---
+ Adds an EHCI host driver for a generic platform device, which
+ provides a memory space and an irq.
+
+ If unsure, say N.
+
+config USB_OCTEON_EHCI
+ bool "Octeon on-chip EHCI support"
+ depends on CPU_CAVIUM_OCTEON
+ default n
+ select USB_EHCI_BIG_ENDIAN_MMIO
+ help
+ Enable support for the Octeon II SOC's on-chip EHCI
+ controller. It is needed for high-speed (480Mbit/sec)
+ USB 2.0 device support. All CN6XXX based chips with USB are
+ supported.
+
+endif # USB_EHCI_HCD
+
config USB_OXU210HP_HCD
tristate "OXU210HP HCD support"
depends on GENERIC_HARDIRQS
@@ -418,15 +441,6 @@ config USB_OHCI_HCD_PLATFORM

If unsure, say N.

-config USB_EHCI_HCD_PLATFORM
- tristate "Generic EHCI driver for a platform device"
- depends on USB_EHCI_HCD
- default n
- ---help---
- Adds an EHCI host driver for a generic platform device, which
- provides a memory space and an irq.
-
- If unsure, say N.

config USB_OHCI_BIG_ENDIAN_DESC
bool
@@ -619,16 +633,6 @@ config USB_IMX21_HCD
To compile this driver as a module, choose M here: the
module will be called "imx21-hcd".

-config USB_OCTEON_EHCI
- bool "Octeon on-chip EHCI support"
- depends on USB_EHCI_HCD && CPU_CAVIUM_OCTEON
- default n
- select USB_EHCI_BIG_ENDIAN_MMIO
- help
- Enable support for the Octeon II SOC's on-chip EHCI
- controller. It is needed for high-speed (480Mbit/sec)
- USB 2.0 device support. All CN6XXX based chips with USB are
- supported.

config USB_OCTEON_OHCI
bool "Octeon on-chip OHCI support"
--
1.7.10.4

2013-04-02 17:06:55

by Florian Fainelli

[permalink] [raw]
Subject: [PATCH 4/5] USB: enclose all depends on USB_OHCI_HCD within an if USB_OHCI_HCD block

This patch removes the various depends on USB_OHCI_HCD from the OHCI HCD
drivers and enclose them within an if USB_OHCI_HCD / endif block. The
Octeon OHCI HCD driver has been moved around to remain in this block.

Signed-off-by: Florian Fainelli <[email protected]>
---
drivers/usb/host/Kconfig | 51 +++++++++++++++++++++++-----------------------
1 file changed, 26 insertions(+), 25 deletions(-)

diff --git a/drivers/usb/host/Kconfig b/drivers/usb/host/Kconfig
index e4faca0..475c508 100644
--- a/drivers/usb/host/Kconfig
+++ b/drivers/usb/host/Kconfig
@@ -327,16 +327,18 @@ config USB_OHCI_HCD
To compile this driver as a module, choose M here: the
module will be called ohci-hcd.

+if USB_OHCI_HCD
+
config USB_OHCI_HCD_OMAP1
bool "OHCI support for OMAP1/2 chips"
- depends on USB_OHCI_HCD && ARCH_OMAP1
+ depends on ARCH_OMAP1
default y
---help---
Enables support for the OHCI controller on OMAP1/2 chips.

config USB_OHCI_HCD_OMAP3
bool "OHCI support for OMAP3 and later chips"
- depends on USB_OHCI_HCD && (ARCH_OMAP3 || ARCH_OMAP4)
+ depends on (ARCH_OMAP3 || ARCH_OMAP4)
default y
---help---
Enables support for the on-chip OHCI controller on
@@ -344,7 +346,7 @@ config USB_OHCI_HCD_OMAP3

config USB_OHCI_ATH79
bool "USB OHCI support for the Atheros AR71XX/AR7240 SoCs (DEPRECATED)"
- depends on USB_OHCI_HCD && (SOC_AR71XX || SOC_AR724X)
+ depends on (SOC_AR71XX || SOC_AR724X)
select USB_OHCI_HCD_PLATFORM
default y
help
@@ -356,7 +358,7 @@ config USB_OHCI_ATH79

config USB_OHCI_HCD_PPC_OF_BE
bool "OHCI support for OF platform bus (big endian)"
- depends on USB_OHCI_HCD && PPC_OF
+ depends on PPC_OF
select USB_OHCI_BIG_ENDIAN_DESC
select USB_OHCI_BIG_ENDIAN_MMIO
---help---
@@ -365,7 +367,7 @@ config USB_OHCI_HCD_PPC_OF_BE

config USB_OHCI_HCD_PPC_OF_LE
bool "OHCI support for OF platform bus (little endian)"
- depends on USB_OHCI_HCD && PPC_OF
+ depends on PPC_OF
select USB_OHCI_LITTLE_ENDIAN
---help---
Enables support for little-endian USB controllers present on the
@@ -373,12 +375,12 @@ config USB_OHCI_HCD_PPC_OF_LE

config USB_OHCI_HCD_PPC_OF
bool
- depends on USB_OHCI_HCD && PPC_OF
+ depends on PPC_OF
default USB_OHCI_HCD_PPC_OF_BE || USB_OHCI_HCD_PPC_OF_LE

config USB_OHCI_HCD_PCI
bool "OHCI support for PCI-bus USB controllers"
- depends on USB_OHCI_HCD && PCI && (STB03xxx || PPC_MPC52xx || USB_OHCI_HCD_PPC_OF)
+ depends on PCI && (STB03xxx || PPC_MPC52xx || USB_OHCI_HCD_PPC_OF)
default y
select USB_OHCI_LITTLE_ENDIAN
---help---
@@ -387,7 +389,7 @@ config USB_OHCI_HCD_PCI

config USB_OHCI_HCD_SSB
bool "OHCI support for Broadcom SSB OHCI core (DEPRECATED)"
- depends on USB_OHCI_HCD && (SSB = y || SSB = USB_OHCI_HCD)
+ depends on (SSB = y || SSB = USB_OHCI_HCD)
select USB_HCD_SSB
select USB_OHCI_HCD_PLATFORM
default n
@@ -405,7 +407,7 @@ config USB_OHCI_HCD_SSB

config USB_OHCI_SH
bool "OHCI support for SuperH USB controller (DEPRECATED)"
- depends on USB_OHCI_HCD && SUPERH
+ depends on SUPERH
select USB_OHCI_HCD_PLATFORM
---help---
This option is deprecated now and the driver was removed, use
@@ -416,13 +418,13 @@ config USB_OHCI_SH

config USB_OHCI_EXYNOS
boolean "OHCI support for Samsung EXYNOS SoC Series"
- depends on USB_OHCI_HCD && ARCH_EXYNOS
+ depends on ARCH_EXYNOS
help
Enable support for the Samsung Exynos SOC's on-chip OHCI controller.

config USB_CNS3XXX_OHCI
bool "Cavium CNS3XXX OHCI Module (DEPRECATED)"
- depends on USB_OHCI_HCD && ARCH_CNS3XXX
+ depends on ARCH_CNS3XXX
select USB_OHCI_HCD_PLATFORM
---help---
This option is deprecated now and the driver was removed, use
@@ -433,7 +435,6 @@ config USB_CNS3XXX_OHCI

config USB_OHCI_HCD_PLATFORM
bool "Generic OHCI driver for a platform device"
- depends on USB_OHCI_HCD
default n
---help---
Adds an OHCI host driver for a generic platform device, which
@@ -441,23 +442,33 @@ config USB_OHCI_HCD_PLATFORM

If unsure, say N.

+config USB_OCTEON_OHCI
+ bool "Octeon on-chip OHCI support"
+ depends on CPU_CAVIUM_OCTEON
+ default USB_OCTEON_EHCI
+ select USB_OHCI_BIG_ENDIAN_MMIO
+ select USB_OHCI_LITTLE_ENDIAN
+ help
+ Enable support for the Octeon II SOC's on-chip OHCI
+ controller. It is needed for low-speed USB 1.0 device
+ support. All CN6XXX based chips with USB are supported.
+

config USB_OHCI_BIG_ENDIAN_DESC
bool
- depends on USB_OHCI_HCD
default n

config USB_OHCI_BIG_ENDIAN_MMIO
bool
- depends on USB_OHCI_HCD
default n

config USB_OHCI_LITTLE_ENDIAN
bool
- depends on USB_OHCI_HCD
default n if STB03xxx || PPC_MPC52xx
default y

+endif # USB_OHCI_HCD
+
config USB_UHCI_HCD
tristate "UHCI HCD (most Intel and VIA) support"
depends on PCI || SPARC_LEON || ARCH_VT8500
@@ -634,16 +645,6 @@ config USB_IMX21_HCD
module will be called "imx21-hcd".


-config USB_OCTEON_OHCI
- bool "Octeon on-chip OHCI support"
- depends on USB_OHCI_HCD && CPU_CAVIUM_OCTEON
- default USB_OCTEON_EHCI
- select USB_OHCI_BIG_ENDIAN_MMIO
- select USB_OHCI_LITTLE_ENDIAN
- help
- Enable support for the Octeon II SOC's on-chip OHCI
- controller. It is needed for low-speed USB 1.0 device
- support. All CN6XXX based chips with USB are supported.

config USB_OCTEON2_COMMON
bool
--
1.7.10.4

2013-04-02 17:10:44

by Florian Fainelli

[permalink] [raw]
Subject: [PATCH 0/5 v2] USB: Kconfig cleanups

Hello Alan, Greg,

These 5 patches contain my Kconfig cleanup on which I based the removal
of the USB_ARCH_HAS_* patches. They have been suggested by Alan Stern
as part of an earlier conversations.

Let me know what you think about it so I can post subsequent work based
on it. This time I dropped the RFC from the subject.

Thanks!

Florian Fainelli (5):
USB: regroup all depends on USB within an if USB block
USB: remove USB_EHCI_BIG_ENDIAN_{DESC,MMIO} depends on architecture
symbol
USB: enclose EHCI HCD drivers within an if USB_EHCI_HCD block
USB: enclose all depends on USB_OHCI_HCD within an if USB_OHCI_HCD
block
USB: enclose USB_XHCI_HCD related symbols within a if USB_XHCI_HCD
block

arch/arm/Kconfig | 2 +
arch/mips/Kconfig | 3 +
arch/powerpc/platforms/44x/Kconfig | 2 +
arch/powerpc/platforms/512x/Kconfig | 2 +
arch/sparc/Kconfig | 2 +
drivers/usb/Kconfig | 23 +++--
drivers/usb/atm/Kconfig | 2 +-
drivers/usb/class/Kconfig | 6 +-
drivers/usb/core/Kconfig | 6 --
drivers/usb/host/Kconfig | 164 +++++++++++++++++------------------
drivers/usb/image/Kconfig | 4 +-
drivers/usb/misc/Kconfig | 21 -----
drivers/usb/misc/sisusbvga/Kconfig | 2 +-
drivers/usb/mon/Kconfig | 1 -
drivers/usb/musb/Kconfig | 1 -
drivers/usb/renesas_usbhs/Kconfig | 2 +-
drivers/usb/serial/Kconfig | 2 +-
drivers/usb/storage/Kconfig | 7 +-
drivers/usb/wusbcore/Kconfig | 2 -
19 files changed, 113 insertions(+), 141 deletions(-)

--
1.7.10.4

2013-04-02 17:10:48

by Florian Fainelli

[permalink] [raw]
Subject: [PATCH 2/5 v2] USB: remove USB_EHCI_BIG_ENDIAN_{DESC,MMIO} depends on architecture symbol

Just like the OHCI counter part we just can remove the architecture
specific symbols which prevent these configuration symbols from being
selected by platforms/architectures requiring it. The original
implementation did not scale at all since it required each and every
single architecture to be added for these configuration symbols to be
selected. Now it is up to the EHCI driver and/or platform to select
these configuration symbols accordingly.

Signed-off-by: Florian Fainelli <[email protected]>
---
Changes since RFC:
- dropped default n for USB_EHCI_BIG_ENDIAN_{MMIO_DESC} as it is the default
- properly patch MPC521x and not MPC52xx

arch/arm/Kconfig | 2 ++
arch/mips/Kconfig | 3 +++
arch/powerpc/platforms/44x/Kconfig | 2 ++
arch/powerpc/platforms/512x/Kconfig | 2 ++
arch/sparc/Kconfig | 2 ++
drivers/usb/host/Kconfig | 11 ++---------
6 files changed, 13 insertions(+), 9 deletions(-)

diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 13b7394..6100e6e 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -549,6 +549,8 @@ config ARCH_IXP4XX
select GENERIC_CLOCKEVENTS
select MIGHT_HAVE_PCI
select NEED_MACH_IO_H
+ select USB_EHCI_BIG_ENDIAN_MMIO
+ select USB_EHCI_BIG_ENDIAN_DESC
help
Support for Intel's IXP4XX (XScale) family of processors.

diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
index cd2e21f..a46a0b0 100644
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
@@ -404,6 +404,8 @@ config PMC_MSP
select IRQ_CPU
select SERIAL_8250
select SERIAL_8250_CONSOLE
+ select USB_EHCI_BIG_ENDIAN_MMIO
+ select USB_EHCI_BIG_ENDIAN_DESC
help
This adds support for the PMC-Sierra family of Multi-Service
Processor System-On-A-Chips. These parts include a number
@@ -1433,6 +1435,7 @@ config CPU_CAVIUM_OCTEON
select CPU_SUPPORTS_HUGEPAGES
select LIBFDT
select USE_OF
+ select USB_EHCI_BIG_ENDIAN_MMIO
help
The Cavium Octeon processor is a highly integrated chip containing
many ethernet hardware widgets for networking tasks. The processor
diff --git a/arch/powerpc/platforms/44x/Kconfig b/arch/powerpc/platforms/44x/Kconfig
index 0effe9f..7be9336 100644
--- a/arch/powerpc/platforms/44x/Kconfig
+++ b/arch/powerpc/platforms/44x/Kconfig
@@ -274,6 +274,8 @@ config 440EPX
select IBM_EMAC_EMAC4
select IBM_EMAC_RGMII
select IBM_EMAC_ZMII
+ select USB_EHCI_BIG_ENDIAN_MMIO
+ select USB_EHCI_BIG_ENDIAN_DESC

config 440GRX
bool
diff --git a/arch/powerpc/platforms/512x/Kconfig b/arch/powerpc/platforms/512x/Kconfig
index c169998..381a592 100644
--- a/arch/powerpc/platforms/512x/Kconfig
+++ b/arch/powerpc/platforms/512x/Kconfig
@@ -7,6 +7,8 @@ config PPC_MPC512x
select PPC_PCI_CHOICE
select FSL_PCI if PCI
select ARCH_WANT_OPTIONAL_GPIOLIB
+ select USB_EHCI_BIG_ENDIAN_MMIO
+ select USB_EHCI_BIG_ENDIAN_DESC

config MPC5121_ADS
bool "Freescale MPC5121E ADS"
diff --git a/arch/sparc/Kconfig b/arch/sparc/Kconfig
index 3d361f2..66dc562 100644
--- a/arch/sparc/Kconfig
+++ b/arch/sparc/Kconfig
@@ -407,6 +407,8 @@ config SERIAL_CONSOLE
config SPARC_LEON
bool "Sparc Leon processor family"
depends on SPARC32
+ select USB_EHCI_BIG_ENDIAN_MMIO
+ select USB_EHCI_BIG_ENDIAN_DESC
---help---
If you say Y here if you are running on a SPARC-LEON processor.
The LEON processor is a synthesizable VHDL model of the
diff --git a/drivers/usb/host/Kconfig b/drivers/usb/host/Kconfig
index 7f4ccf7..a330549 100644
--- a/drivers/usb/host/Kconfig
+++ b/drivers/usb/host/Kconfig
@@ -110,18 +110,11 @@ config USB_EHCI_HCD_PMC_MSP

config USB_EHCI_BIG_ENDIAN_MMIO
bool
- depends on USB_EHCI_HCD && (PPC_CELLEB || PPC_PS3 || 440EPX || \
- ARCH_IXP4XX || XPS_USB_HCD_XILINX || \
- PPC_MPC512x || CPU_CAVIUM_OCTEON || \
- PMC_MSP || SPARC_LEON || MIPS_SEAD3)
- default y
+ depends on USB_EHCI_HCD

config USB_EHCI_BIG_ENDIAN_DESC
bool
- depends on USB_EHCI_HCD && (440EPX || ARCH_IXP4XX || XPS_USB_HCD_XILINX || \
- PPC_MPC512x || PMC_MSP || SPARC_LEON || \
- MIPS_SEAD3)
- default y
+ depends on USB_EHCI_HCD

config XPS_USB_HCD_XILINX
bool "Use Xilinx usb host EHCI controller core"
--
1.7.10.4

2013-04-02 17:10:59

by Florian Fainelli

[permalink] [raw]
Subject: Re: [PATCH 0/5] USB: Kconfig cleanups

Le 04/02/13 19:05, Florian Fainelli a écrit :
> Hello Alan, Greg,
>
> These 5 patches contain my Kconfig cleanup on which I based the removal
> of the USB_ARCH_HAS_* patches. They have been suggested by Alan Stern
> as part of an earlier conversations.
>
> Let me know what you think about it so I can post subsequent work based
> on it. This time I dropped the RFC from the subject.

Ok, this serie contains a small mistake in patch 1, please discard it
and use v2 instead.

Thanks!
--
Florian

2013-04-02 17:11:19

by Florian Fainelli

[permalink] [raw]
Subject: [PATCH 1/5 v2] USB: regroup all depends on USB within an if USB block

This patch removes the depends on USB from all config symbols in
drivers/usb/host/Kconfig and replace that with an if USB / endif block
as suggested by Alan Stern. Some source ... Kconfig lines have been
shuffled around to permit a better regroupment of the Kconfig files
depending on "config USB" item. No functionnal change is introduced.

Signed-off-by: Florian Fainelli <[email protected]>
---
Changes since v1:
- add missing if USB in drivers/usb/Kconfig before USB_USS720

Changes since RFC:
- only remove the "depends on USB" conditionnals and not more as
the RFC patch did

drivers/usb/Kconfig | 23 +++++++++++++++--------
drivers/usb/atm/Kconfig | 2 +-
drivers/usb/class/Kconfig | 6 +-----
drivers/usb/core/Kconfig | 6 ------
drivers/usb/host/Kconfig | 30 +++++++++++-------------------
drivers/usb/image/Kconfig | 4 +---
drivers/usb/misc/Kconfig | 21 ---------------------
drivers/usb/misc/sisusbvga/Kconfig | 2 +-
drivers/usb/mon/Kconfig | 1 -
drivers/usb/musb/Kconfig | 1 -
drivers/usb/renesas_usbhs/Kconfig | 2 +-
drivers/usb/serial/Kconfig | 2 +-
drivers/usb/storage/Kconfig | 7 +++----
drivers/usb/wusbcore/Kconfig | 2 --
14 files changed, 35 insertions(+), 74 deletions(-)

diff --git a/drivers/usb/Kconfig b/drivers/usb/Kconfig
index 640ae6c..24c14fc 100644
--- a/drivers/usb/Kconfig
+++ b/drivers/usb/Kconfig
@@ -122,9 +122,9 @@ config USB
To compile this driver as a module, choose M here: the
module will be called usbcore.

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

-source "drivers/usb/dwc3/Kconfig"
+source "drivers/usb/core/Kconfig"

source "drivers/usb/mon/Kconfig"

@@ -134,8 +134,6 @@ source "drivers/usb/host/Kconfig"

source "drivers/usb/musb/Kconfig"

-source "drivers/usb/chipidea/Kconfig"
-
source "drivers/usb/renesas_usbhs/Kconfig"

source "drivers/usb/class/Kconfig"
@@ -144,12 +142,19 @@ source "drivers/usb/storage/Kconfig"

source "drivers/usb/image/Kconfig"

+endif
+
+source "drivers/usb/dwc3/Kconfig"
+
+source "drivers/usb/chipidea/Kconfig"
+
comment "USB port drivers"
- depends on USB
+
+if USB

config USB_USS720
tristate "USS720 parport driver"
- depends on USB && PARPORT
+ depends on PARPORT
select PARPORT_NOT_PC
---help---
This driver is for USB parallel port adapters that use the Lucent
@@ -180,10 +185,12 @@ source "drivers/usb/serial/Kconfig"

source "drivers/usb/misc/Kconfig"

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

+endif # USB
+
+source "drivers/usb/phy/Kconfig"
+
source "drivers/usb/gadget/Kconfig"

source "drivers/usb/otg/Kconfig"
diff --git a/drivers/usb/atm/Kconfig b/drivers/usb/atm/Kconfig
index be0b8da..0f92294 100644
--- a/drivers/usb/atm/Kconfig
+++ b/drivers/usb/atm/Kconfig
@@ -4,7 +4,7 @@

menuconfig USB_ATM
tristate "USB DSL modem support"
- depends on USB && ATM
+ depends on ATM
select CRC32
default n
help
diff --git a/drivers/usb/class/Kconfig b/drivers/usb/class/Kconfig
index 316aac8..bb8b736 100644
--- a/drivers/usb/class/Kconfig
+++ b/drivers/usb/class/Kconfig
@@ -2,11 +2,10 @@
# USB Class driver configuration
#
comment "USB Device Class drivers"
- depends on USB

config USB_ACM
tristate "USB Modem (CDC ACM) support"
- depends on USB && TTY
+ depends on TTY
---help---
This driver supports USB modems and ISDN adapters which support the
Communication Device Class Abstract Control Model interface.
@@ -21,7 +20,6 @@ config USB_ACM

config USB_PRINTER
tristate "USB Printer support"
- depends on USB
help
Say Y here if you want to connect a USB printer to your computer's
USB port.
@@ -31,7 +29,6 @@ config USB_PRINTER

config USB_WDM
tristate "USB Wireless Device Management support"
- depends on USB
---help---
This driver supports the WMC Device Management functionality
of cell phones compliant to the CDC WMC specification. You can use
@@ -42,7 +39,6 @@ config USB_WDM

config USB_TMC
tristate "USB Test and Measurement Class support"
- depends on USB
help
Say Y here if you want to connect a USB device that follows
the USB.org specification for USB Test and Measurement devices
diff --git a/drivers/usb/core/Kconfig b/drivers/usb/core/Kconfig
index 7b7305e..8772b36 100644
--- a/drivers/usb/core/Kconfig
+++ b/drivers/usb/core/Kconfig
@@ -3,7 +3,6 @@
#
config USB_DEBUG
bool "USB verbose debug messages"
- depends on USB
help
Say Y here if you want the USB core & hub drivers to produce a bunch
of debug messages to the system log. Select this if you are having a
@@ -11,7 +10,6 @@ config USB_DEBUG

config USB_ANNOUNCE_NEW_DEVICES
bool "USB announce new devices"
- depends on USB
default N
help
Say Y here if you want the USB core to always announce the
@@ -25,11 +23,9 @@ config USB_ANNOUNCE_NEW_DEVICES
log, or have any doubts about this, say N here.

comment "Miscellaneous USB options"
- depends on USB

config USB_DEFAULT_PERSIST
bool "Enable USB persist by default"
- depends on USB
default y
help
Say N here if you don't want USB power session persistance
@@ -45,7 +41,6 @@ config USB_DEFAULT_PERSIST

config USB_DYNAMIC_MINORS
bool "Dynamic USB minor allocation"
- depends on USB
help
If you say Y here, the USB subsystem will use dynamic minor
allocation for any device that uses the USB major number.
@@ -56,7 +51,6 @@ config USB_DYNAMIC_MINORS

config USB_OTG
bool "OTG support"
- depends on USB
depends on USB_SUSPEND
default n
help
diff --git a/drivers/usb/host/Kconfig b/drivers/usb/host/Kconfig
index 2f68221..7f4ccf7 100644
--- a/drivers/usb/host/Kconfig
+++ b/drivers/usb/host/Kconfig
@@ -2,11 +2,9 @@
# USB Host Controller Drivers
#
comment "USB Host Controller Drivers"
- depends on USB

config USB_C67X00_HCD
tristate "Cypress C67x00 HCD support"
- depends on USB
help
The Cypress C67x00 (EZ-Host/EZ-OTG) chips are dual-role
host/peripheral/OTG USB controllers.
@@ -19,7 +17,7 @@ config USB_C67X00_HCD

config USB_XHCI_HCD
tristate "xHCI HCD (USB 3.0) support"
- depends on USB && USB_ARCH_HAS_XHCI
+ depends on USB_ARCH_HAS_XHCI
---help---
The eXtensible Host Controller Interface (xHCI) is standard for USB 3.0
"SuperSpeed" host controller hardware.
@@ -43,7 +41,7 @@ config USB_XHCI_HCD_DEBUGGING

config USB_EHCI_HCD
tristate "EHCI HCD (USB 2.0) support"
- depends on USB && USB_ARCH_HAS_EHCI
+ depends on USB_ARCH_HAS_EHCI
---help---
The Enhanced Host Controller Interface (EHCI) is standard for USB 2.0
"high speed" (480 Mbit/sec, 60 Mbyte/sec) host controller hardware.
@@ -247,7 +245,7 @@ config USB_EHCI_ATH79

config USB_OXU210HP_HCD
tristate "OXU210HP HCD support"
- depends on USB && GENERIC_HARDIRQS
+ depends on GENERIC_HARDIRQS
---help---
The OXU210HP is an USB host/OTG/device controller. Enable this
option if your board has this chip. If unsure, say N.
@@ -260,7 +258,6 @@ config USB_OXU210HP_HCD

config USB_ISP116X_HCD
tristate "ISP116X HCD support"
- depends on USB
---help---
The ISP1160 and ISP1161 chips are USB host controllers. Enable this
option if your board has this chip. If unsure, say N.
@@ -272,7 +269,6 @@ config USB_ISP116X_HCD

config USB_ISP1760_HCD
tristate "ISP 1760 HCD support"
- depends on USB
---help---
The ISP1760 chip is a USB 2.0 host controller.

@@ -287,7 +283,6 @@ config USB_ISP1760_HCD

config USB_ISP1362_HCD
tristate "ISP1362 HCD support"
- depends on USB
default N
---help---
Supports the Philips ISP1362 chip as a host controller
@@ -299,7 +294,7 @@ config USB_ISP1362_HCD

config USB_OHCI_HCD
tristate "OHCI HCD support"
- depends on USB && USB_ARCH_HAS_OHCI
+ depends on USB_ARCH_HAS_OHCI
select ISP1301_OMAP if MACH_OMAP_H2 || MACH_OMAP_H3
select USB_OTG_UTILS if ARCH_OMAP
depends on USB_ISP1301 || !ARCH_LPC32XX
@@ -458,7 +453,7 @@ config USB_OHCI_LITTLE_ENDIAN

config USB_UHCI_HCD
tristate "UHCI HCD (most Intel and VIA) support"
- depends on USB && (PCI || SPARC_LEON || ARCH_VT8500)
+ depends on PCI || SPARC_LEON || ARCH_VT8500
---help---
The Universal Host Controller Interface is a standard by Intel for
accessing the USB hardware in the PC (which is also called the USB
@@ -498,7 +493,7 @@ config USB_UHCI_BIG_ENDIAN_DESC

config USB_FHCI_HCD
tristate "Freescale QE USB Host Controller support"
- depends on USB && OF_GPIO && QE_GPIO && QUICC_ENGINE
+ depends on OF_GPIO && QE_GPIO && QUICC_ENGINE
select FSL_GTM
select QE_USB
help
@@ -515,7 +510,7 @@ config FHCI_DEBUG

config USB_U132_HCD
tristate "Elan U132 Adapter Host Controller"
- depends on USB && USB_FTDI_ELAN
+ depends on USB_FTDI_ELAN
default M
help
The U132 adapter is a USB to CardBus adapter specifically designed
@@ -543,7 +538,6 @@ config USB_U132_HCD

config USB_SL811_HCD
tristate "SL811HS HCD support"
- depends on USB
help
The SL811HS is a single-port USB controller that supports either
host side or peripheral side roles. Enable this option if your
@@ -575,7 +569,6 @@ config USB_SL811_CS

config USB_R8A66597_HCD
tristate "R8A66597 HCD support"
- depends on USB
help
The R8A66597 is a USB 2.0 host and peripheral controller.

@@ -587,7 +580,6 @@ config USB_R8A66597_HCD

config USB_RENESAS_USBHS_HCD
tristate "Renesas USBHS HCD support"
- depends on USB
depends on USB_RENESAS_USBHS
help
The Renesas USBHS is a USB 2.0 host and peripheral controller.
@@ -612,7 +604,7 @@ config USB_WHCI_HCD

config USB_HWA_HCD
tristate "Host Wire Adapter (HWA) driver"
- depends on USB && UWB
+ depends on UWB
select USB_WUSB
select UWB_HWA
help
@@ -626,7 +618,7 @@ config USB_HWA_HCD

config USB_IMX21_HCD
tristate "i.MX21 HCD support"
- depends on USB && ARM && ARCH_MXC
+ depends on ARM && ARCH_MXC
help
This driver enables support for the on-chip USB host in the
i.MX21 processor.
@@ -636,7 +628,7 @@ config USB_IMX21_HCD

config USB_OCTEON_EHCI
bool "Octeon on-chip EHCI support"
- depends on USB && USB_EHCI_HCD && CPU_CAVIUM_OCTEON
+ depends on USB_EHCI_HCD && CPU_CAVIUM_OCTEON
default n
select USB_EHCI_BIG_ENDIAN_MMIO
help
@@ -647,7 +639,7 @@ config USB_OCTEON_EHCI

config USB_OCTEON_OHCI
bool "Octeon on-chip OHCI support"
- depends on USB && USB_OHCI_HCD && CPU_CAVIUM_OCTEON
+ depends on USB_OHCI_HCD && CPU_CAVIUM_OCTEON
default USB_OCTEON_EHCI
select USB_OHCI_BIG_ENDIAN_MMIO
select USB_OHCI_LITTLE_ENDIAN
diff --git a/drivers/usb/image/Kconfig b/drivers/usb/image/Kconfig
index 33350f9..320d368 100644
--- a/drivers/usb/image/Kconfig
+++ b/drivers/usb/image/Kconfig
@@ -2,11 +2,9 @@
# USB Imaging devices configuration
#
comment "USB Imaging devices"
- depends on USB

config USB_MDC800
tristate "USB Mustek MDC800 Digital Camera support"
- depends on USB
---help---
Say Y here if you want to connect this type of still camera to
your computer's USB port. This driver can be used with gphoto 0.4.3
@@ -19,7 +17,7 @@ config USB_MDC800

config USB_MICROTEK
tristate "Microtek X6USB scanner support"
- depends on USB && SCSI
+ depends on SCSI
help
Say Y here if you want support for the Microtek X6USB and
possibly the Phantom 336CX, Phantom C6 and ScanMaker V6U(S)L.
diff --git a/drivers/usb/misc/Kconfig b/drivers/usb/misc/Kconfig
index 3b1a3f4..a51e7d6 100644
--- a/drivers/usb/misc/Kconfig
+++ b/drivers/usb/misc/Kconfig
@@ -2,11 +2,9 @@
# USB Miscellaneous driver configuration
#
comment "USB Miscellaneous drivers"
- depends on USB

config USB_EMI62
tristate "EMI 6|2m USB Audio interface support"
- depends on USB
---help---
This driver loads firmware to Emagic EMI 6|2m low latency USB
Audio and Midi interface.
@@ -21,7 +19,6 @@ config USB_EMI62

config USB_EMI26
tristate "EMI 2|6 USB Audio interface support"
- depends on USB
---help---
This driver loads firmware to Emagic EMI 2|6 low latency USB
Audio interface.
@@ -34,7 +31,6 @@ config USB_EMI26

config USB_ADUTUX
tristate "ADU devices from Ontrak Control Systems"
- depends on USB
help
Say Y if you want to use an ADU device from Ontrak Control
Systems.
@@ -44,7 +40,6 @@ config USB_ADUTUX

config USB_SEVSEG
tristate "USB 7-Segment LED Display"
- depends on USB
help
Say Y here if you have a USB 7-Segment Display by Delcom

@@ -53,7 +48,6 @@ config USB_SEVSEG

config USB_RIO500
tristate "USB Diamond Rio500 support"
- depends on USB
help
Say Y here if you want to connect a USB Rio500 mp3 player to your
computer's USB port. Please read <file:Documentation/usb/rio.txt>
@@ -64,7 +58,6 @@ config USB_RIO500

config USB_LEGOTOWER
tristate "USB Lego Infrared Tower support"
- depends on USB
help
Say Y here if you want to connect a USB Lego Infrared Tower to your
computer's USB port.
@@ -77,7 +70,6 @@ config USB_LEGOTOWER

config USB_LCD
tristate "USB LCD driver support"
- depends on USB
help
Say Y here if you want to connect an USBLCD to your computer's
USB port. The USBLCD is a small USB interface board for
@@ -89,7 +81,6 @@ config USB_LCD

config USB_LED
tristate "USB LED driver support"
- depends on USB
help
Say Y here if you want to connect an USBLED device to your
computer's USB port.
@@ -99,7 +90,6 @@ config USB_LED

config USB_CYPRESS_CY7C63
tristate "Cypress CY7C63xxx USB driver support"
- depends on USB
help
Say Y here if you want to connect a Cypress CY7C63xxx
micro controller to your computer's USB port. Currently this
@@ -113,7 +103,6 @@ config USB_CYPRESS_CY7C63

config USB_CYTHERM
tristate "Cypress USB thermometer driver support"
- depends on USB
help
Say Y here if you want to connect a Cypress USB thermometer
device to your computer's USB port. This device is also known
@@ -126,7 +115,6 @@ config USB_CYTHERM

config USB_IDMOUSE
tristate "Siemens ID USB Mouse Fingerprint sensor support"
- depends on USB
help
Say Y here if you want to use the fingerprint sensor on
the Siemens ID Mouse. There is also a Siemens ID Mouse
@@ -140,7 +128,6 @@ config USB_IDMOUSE

config USB_FTDI_ELAN
tristate "Elan PCMCIA CardBus Adapter USB Client"
- depends on USB
default M
help
ELAN's Uxxx series of adapters are USB to PCMCIA CardBus adapters.
@@ -164,7 +151,6 @@ config USB_FTDI_ELAN

config USB_APPLEDISPLAY
tristate "Apple Cinema Display support"
- depends on USB
select BACKLIGHT_LCD_SUPPORT
select BACKLIGHT_CLASS_DEVICE
help
@@ -175,7 +161,6 @@ source "drivers/usb/misc/sisusbvga/Kconfig"

config USB_LD
tristate "USB LD driver"
- depends on USB
help
This driver is for generic USB devices that use interrupt transfers,
like LD Didactic's USB devices.
@@ -185,7 +170,6 @@ config USB_LD

config USB_TRANCEVIBRATOR
tristate "PlayStation 2 Trance Vibrator driver support"
- depends on USB
help
Say Y here if you want to connect a PlayStation 2 Trance Vibrator
device to your computer's USB port.
@@ -195,7 +179,6 @@ config USB_TRANCEVIBRATOR

config USB_IOWARRIOR
tristate "IO Warrior driver support"
- depends on USB
help
Say Y here if you want to support the IO Warrior devices from Code
Mercenaries. This includes support for the following devices:
@@ -209,7 +192,6 @@ config USB_IOWARRIOR

config USB_TEST
tristate "USB testing driver"
- depends on USB
help
This driver is for testing host controller software. It is used
with specialized device firmware for regression and stress testing,
@@ -220,7 +202,6 @@ config USB_TEST

config USB_ISIGHTFW
tristate "iSight firmware loading support"
- depends on USB
select FW_LOADER
help
This driver loads firmware for USB Apple iSight cameras, allowing
@@ -233,7 +214,6 @@ config USB_ISIGHTFW

config USB_YUREX
tristate "USB YUREX driver support"
- depends on USB
help
Say Y here if you want to connect a YUREX to your computer's
USB port. The YUREX is a leg-shakes sensor. See
@@ -246,7 +226,6 @@ config USB_YUREX

config USB_EZUSB_FX2
tristate "Functions for loading firmware on EZUSB chips"
- depends on USB
help
Say Y here if you need EZUSB device support.
(Cypress FX/FX2/FX2LP microcontrollers)
diff --git a/drivers/usb/misc/sisusbvga/Kconfig b/drivers/usb/misc/sisusbvga/Kconfig
index 30ea7ca..0d03a52 100644
--- a/drivers/usb/misc/sisusbvga/Kconfig
+++ b/drivers/usb/misc/sisusbvga/Kconfig
@@ -1,7 +1,7 @@

config USB_SISUSBVGA
tristate "USB 2.0 SVGA dongle support (Net2280/SiS315)"
- depends on USB && (USB_MUSB_HDRC || USB_EHCI_HCD)
+ depends on (USB_MUSB_HDRC || USB_EHCI_HCD)
---help---
Say Y here if you intend to attach a USB2VGA dongle based on a
Net2280 and a SiS315 chip.
diff --git a/drivers/usb/mon/Kconfig b/drivers/usb/mon/Kconfig
index 635745f..5c6ffa2 100644
--- a/drivers/usb/mon/Kconfig
+++ b/drivers/usb/mon/Kconfig
@@ -4,7 +4,6 @@

config USB_MON
tristate "USB Monitor"
- depends on USB
help
If you select this option, a component which captures the USB traffic
between peripheral-specific drivers and HC drivers will be built.
diff --git a/drivers/usb/musb/Kconfig b/drivers/usb/musb/Kconfig
index 05e5143..ab5a3b9 100644
--- a/drivers/usb/musb/Kconfig
+++ b/drivers/usb/musb/Kconfig
@@ -6,7 +6,6 @@
# (M)HDRC = (Multipoint) Highspeed Dual-Role Controller
config USB_MUSB_HDRC
tristate 'Inventra Highspeed Dual Role Controller (TI, ADI, ...)'
- depends on USB && USB_GADGET
select USB_OTG_UTILS
help
Say Y here if your system has a dual role high speed USB
diff --git a/drivers/usb/renesas_usbhs/Kconfig b/drivers/usb/renesas_usbhs/Kconfig
index 29feb00..019bf7e 100644
--- a/drivers/usb/renesas_usbhs/Kconfig
+++ b/drivers/usb/renesas_usbhs/Kconfig
@@ -4,7 +4,7 @@

config USB_RENESAS_USBHS
tristate 'Renesas USBHS controller'
- depends on USB && USB_GADGET && GENERIC_HARDIRQS
+ depends on USB_GADGET && GENERIC_HARDIRQS
default n
help
Renesas USBHS is a discrete USB host and peripheral controller chip
diff --git a/drivers/usb/serial/Kconfig b/drivers/usb/serial/Kconfig
index 17b7f9a..bf37336 100644
--- a/drivers/usb/serial/Kconfig
+++ b/drivers/usb/serial/Kconfig
@@ -4,7 +4,7 @@

menuconfig USB_SERIAL
tristate "USB Serial Converter support"
- depends on USB && TTY
+ depends on TTY
---help---
Say Y here if you have a USB device that provides normal serial
ports, or acts like a serial device, and you want to connect it to
diff --git a/drivers/usb/storage/Kconfig b/drivers/usb/storage/Kconfig
index eab04a6..8470e1b 100644
--- a/drivers/usb/storage/Kconfig
+++ b/drivers/usb/storage/Kconfig
@@ -4,11 +4,10 @@

comment "NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may"
comment "also be needed; see USB_STORAGE Help for more info"
- depends on USB

config USB_STORAGE
tristate "USB Mass Storage support"
- depends on USB && SCSI
+ depends on SCSI
---help---
Say Y here if you want to connect USB mass storage devices to your
computer's USB port. This is the driver you need for USB
@@ -188,7 +187,7 @@ config USB_STORAGE_CYPRESS_ATACB

config USB_STORAGE_ENE_UB6250
tristate "USB ENE card reader support"
- depends on USB && SCSI
+ depends on SCSI
depends on USB_STORAGE
---help---
Say Y here if you wish to control a ENE SD/MS Card reader.
@@ -203,7 +202,7 @@ config USB_STORAGE_ENE_UB6250

config USB_UAS
tristate "USB Attached SCSI"
- depends on USB && SCSI && BROKEN
+ depends on SCSI && BROKEN
help
The USB Attached SCSI protocol is supported by some USB
storage devices. It permits higher performance by supporting
diff --git a/drivers/usb/wusbcore/Kconfig b/drivers/usb/wusbcore/Kconfig
index 8bf1976..0e17b96 100644
--- a/drivers/usb/wusbcore/Kconfig
+++ b/drivers/usb/wusbcore/Kconfig
@@ -3,7 +3,6 @@
#
config USB_WUSB
tristate "Enable Wireless USB extensions"
- depends on USB
depends on PCI
depends on UWB
select CRYPTO
@@ -19,7 +18,6 @@ config USB_WUSB

config USB_WUSB_CBAF
tristate "Support WUSB Cable Based Association (CBA)"
- depends on USB
help
Some WUSB devices support Cable Based Association. It's used to
enable the secure communication between the host and the
--
1.7.10.4

2013-04-02 17:11:40

by Florian Fainelli

[permalink] [raw]
Subject: [PATCH 5/5 v2] USB: enclose USB_XHCI_HCD related symbols within a if USB_XHCI_HCD block

This patch encloses all symbols depending on USB_XHCI_HCD within an if
USB_XHCI_HCD / endif block.

Signed-off-by: Florian Fainelli <[email protected]>
---
drivers/usb/host/Kconfig | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/usb/host/Kconfig b/drivers/usb/host/Kconfig
index 475c508..a96a979 100644
--- a/drivers/usb/host/Kconfig
+++ b/drivers/usb/host/Kconfig
@@ -25,13 +25,13 @@ config USB_XHCI_HCD
To compile this driver as a module, choose M here: the
module will be called xhci-hcd.

+if USB_XHCI_HCD
+
config USB_XHCI_PLATFORM
tristate
- depends on USB_XHCI_HCD

config USB_XHCI_HCD_DEBUGGING
bool "Debugging for the xHCI host controller"
- depends on USB_XHCI_HCD
---help---
Say 'Y' to turn on debugging for the xHCI host controller driver.
This will spew debugging output, even in interrupt context.
@@ -39,6 +39,8 @@ config USB_XHCI_HCD_DEBUGGING

If unsure, say N.

+endif # USB_XHCI_HCD
+
config USB_EHCI_HCD
tristate "EHCI HCD (USB 2.0) support"
depends on USB_ARCH_HAS_EHCI
--
1.7.10.4

2013-04-02 17:12:08

by Florian Fainelli

[permalink] [raw]
Subject: [PATCH 4/5 v2] USB: enclose all depends on USB_OHCI_HCD within an if USB_OHCI_HCD block

This patch removes the various depends on USB_OHCI_HCD from the OHCI HCD
drivers and enclose them within an if USB_OHCI_HCD / endif block. The
Octeon OHCI HCD driver has been moved around to remain in this block.

Signed-off-by: Florian Fainelli <[email protected]>
---
drivers/usb/host/Kconfig | 51 +++++++++++++++++++++++-----------------------
1 file changed, 26 insertions(+), 25 deletions(-)

diff --git a/drivers/usb/host/Kconfig b/drivers/usb/host/Kconfig
index e4faca0..475c508 100644
--- a/drivers/usb/host/Kconfig
+++ b/drivers/usb/host/Kconfig
@@ -327,16 +327,18 @@ config USB_OHCI_HCD
To compile this driver as a module, choose M here: the
module will be called ohci-hcd.

+if USB_OHCI_HCD
+
config USB_OHCI_HCD_OMAP1
bool "OHCI support for OMAP1/2 chips"
- depends on USB_OHCI_HCD && ARCH_OMAP1
+ depends on ARCH_OMAP1
default y
---help---
Enables support for the OHCI controller on OMAP1/2 chips.

config USB_OHCI_HCD_OMAP3
bool "OHCI support for OMAP3 and later chips"
- depends on USB_OHCI_HCD && (ARCH_OMAP3 || ARCH_OMAP4)
+ depends on (ARCH_OMAP3 || ARCH_OMAP4)
default y
---help---
Enables support for the on-chip OHCI controller on
@@ -344,7 +346,7 @@ config USB_OHCI_HCD_OMAP3

config USB_OHCI_ATH79
bool "USB OHCI support for the Atheros AR71XX/AR7240 SoCs (DEPRECATED)"
- depends on USB_OHCI_HCD && (SOC_AR71XX || SOC_AR724X)
+ depends on (SOC_AR71XX || SOC_AR724X)
select USB_OHCI_HCD_PLATFORM
default y
help
@@ -356,7 +358,7 @@ config USB_OHCI_ATH79

config USB_OHCI_HCD_PPC_OF_BE
bool "OHCI support for OF platform bus (big endian)"
- depends on USB_OHCI_HCD && PPC_OF
+ depends on PPC_OF
select USB_OHCI_BIG_ENDIAN_DESC
select USB_OHCI_BIG_ENDIAN_MMIO
---help---
@@ -365,7 +367,7 @@ config USB_OHCI_HCD_PPC_OF_BE

config USB_OHCI_HCD_PPC_OF_LE
bool "OHCI support for OF platform bus (little endian)"
- depends on USB_OHCI_HCD && PPC_OF
+ depends on PPC_OF
select USB_OHCI_LITTLE_ENDIAN
---help---
Enables support for little-endian USB controllers present on the
@@ -373,12 +375,12 @@ config USB_OHCI_HCD_PPC_OF_LE

config USB_OHCI_HCD_PPC_OF
bool
- depends on USB_OHCI_HCD && PPC_OF
+ depends on PPC_OF
default USB_OHCI_HCD_PPC_OF_BE || USB_OHCI_HCD_PPC_OF_LE

config USB_OHCI_HCD_PCI
bool "OHCI support for PCI-bus USB controllers"
- depends on USB_OHCI_HCD && PCI && (STB03xxx || PPC_MPC52xx || USB_OHCI_HCD_PPC_OF)
+ depends on PCI && (STB03xxx || PPC_MPC52xx || USB_OHCI_HCD_PPC_OF)
default y
select USB_OHCI_LITTLE_ENDIAN
---help---
@@ -387,7 +389,7 @@ config USB_OHCI_HCD_PCI

config USB_OHCI_HCD_SSB
bool "OHCI support for Broadcom SSB OHCI core (DEPRECATED)"
- depends on USB_OHCI_HCD && (SSB = y || SSB = USB_OHCI_HCD)
+ depends on (SSB = y || SSB = USB_OHCI_HCD)
select USB_HCD_SSB
select USB_OHCI_HCD_PLATFORM
default n
@@ -405,7 +407,7 @@ config USB_OHCI_HCD_SSB

config USB_OHCI_SH
bool "OHCI support for SuperH USB controller (DEPRECATED)"
- depends on USB_OHCI_HCD && SUPERH
+ depends on SUPERH
select USB_OHCI_HCD_PLATFORM
---help---
This option is deprecated now and the driver was removed, use
@@ -416,13 +418,13 @@ config USB_OHCI_SH

config USB_OHCI_EXYNOS
boolean "OHCI support for Samsung EXYNOS SoC Series"
- depends on USB_OHCI_HCD && ARCH_EXYNOS
+ depends on ARCH_EXYNOS
help
Enable support for the Samsung Exynos SOC's on-chip OHCI controller.

config USB_CNS3XXX_OHCI
bool "Cavium CNS3XXX OHCI Module (DEPRECATED)"
- depends on USB_OHCI_HCD && ARCH_CNS3XXX
+ depends on ARCH_CNS3XXX
select USB_OHCI_HCD_PLATFORM
---help---
This option is deprecated now and the driver was removed, use
@@ -433,7 +435,6 @@ config USB_CNS3XXX_OHCI

config USB_OHCI_HCD_PLATFORM
bool "Generic OHCI driver for a platform device"
- depends on USB_OHCI_HCD
default n
---help---
Adds an OHCI host driver for a generic platform device, which
@@ -441,23 +442,33 @@ config USB_OHCI_HCD_PLATFORM

If unsure, say N.

+config USB_OCTEON_OHCI
+ bool "Octeon on-chip OHCI support"
+ depends on CPU_CAVIUM_OCTEON
+ default USB_OCTEON_EHCI
+ select USB_OHCI_BIG_ENDIAN_MMIO
+ select USB_OHCI_LITTLE_ENDIAN
+ help
+ Enable support for the Octeon II SOC's on-chip OHCI
+ controller. It is needed for low-speed USB 1.0 device
+ support. All CN6XXX based chips with USB are supported.
+

config USB_OHCI_BIG_ENDIAN_DESC
bool
- depends on USB_OHCI_HCD
default n

config USB_OHCI_BIG_ENDIAN_MMIO
bool
- depends on USB_OHCI_HCD
default n

config USB_OHCI_LITTLE_ENDIAN
bool
- depends on USB_OHCI_HCD
default n if STB03xxx || PPC_MPC52xx
default y

+endif # USB_OHCI_HCD
+
config USB_UHCI_HCD
tristate "UHCI HCD (most Intel and VIA) support"
depends on PCI || SPARC_LEON || ARCH_VT8500
@@ -634,16 +645,6 @@ config USB_IMX21_HCD
module will be called "imx21-hcd".


-config USB_OCTEON_OHCI
- bool "Octeon on-chip OHCI support"
- depends on USB_OHCI_HCD && CPU_CAVIUM_OCTEON
- default USB_OCTEON_EHCI
- select USB_OHCI_BIG_ENDIAN_MMIO
- select USB_OHCI_LITTLE_ENDIAN
- help
- Enable support for the Octeon II SOC's on-chip OHCI
- controller. It is needed for low-speed USB 1.0 device
- support. All CN6XXX based chips with USB are supported.

config USB_OCTEON2_COMMON
bool
--
1.7.10.4

2013-04-02 17:12:07

by Florian Fainelli

[permalink] [raw]
Subject: [PATCH 3/5 v2] USB: enclose EHCI HCD drivers within an if USB_EHCI_HCD block

Thist patch removes the depends on USB_EHCI_HCD that the various USB
EHCI HCD drivers use and encloses every driver within an if USB_EHCI_HCD
/ endif block. The EHCI HCD platform and Octeon drivers have been moved
around to remain enclosed within this block.

Signed-off-by: Florian Fainelli <[email protected]>
---
drivers/usb/host/Kconfig | 74 ++++++++++++++++++++++++----------------------
1 file changed, 39 insertions(+), 35 deletions(-)

diff --git a/drivers/usb/host/Kconfig b/drivers/usb/host/Kconfig
index a330549..e4faca0 100644
--- a/drivers/usb/host/Kconfig
+++ b/drivers/usb/host/Kconfig
@@ -93,14 +93,16 @@ config USB_EHCI_TT_NEWSCHED

If unsure, say Y.

+if USB_EHCI_HCD
+
config USB_EHCI_PCI
tristate
- depends on USB_EHCI_HCD && PCI
+ depends on PCI
default y

config USB_EHCI_HCD_PMC_MSP
tristate "EHCI support for on-chip PMC MSP71xx USB controller"
- depends on USB_EHCI_HCD && MSP_HAS_USB
+ depends on MSP_HAS_USB
default n
select USB_EHCI_BIG_ENDIAN_DESC
select USB_EHCI_BIG_ENDIAN_MMIO
@@ -110,7 +112,6 @@ config USB_EHCI_HCD_PMC_MSP

config USB_EHCI_BIG_ENDIAN_MMIO
bool
- depends on USB_EHCI_HCD

config USB_EHCI_BIG_ENDIAN_DESC
bool
@@ -118,7 +119,7 @@ config USB_EHCI_BIG_ENDIAN_DESC

config XPS_USB_HCD_XILINX
bool "Use Xilinx usb host EHCI controller core"
- depends on USB_EHCI_HCD && (PPC32 || MICROBLAZE)
+ depends on (PPC32 || MICROBLAZE)
select USB_EHCI_BIG_ENDIAN_DESC
select USB_EHCI_BIG_ENDIAN_MMIO
---help---
@@ -132,7 +133,7 @@ config USB_FSL_MPH_DR_OF

config USB_EHCI_FSL
bool "Support for Freescale PPC on-chip EHCI USB controller"
- depends on USB_EHCI_HCD && FSL_SOC
+ depends on FSL_SOC
select USB_EHCI_ROOT_HUB_TT
select USB_FSL_MPH_DR_OF if OF
---help---
@@ -140,14 +141,14 @@ config USB_EHCI_FSL

config USB_EHCI_MXC
tristate "Support for Freescale i.MX on-chip EHCI USB controller"
- depends on USB_EHCI_HCD && ARCH_MXC
+ depends on ARCH_MXC
select USB_EHCI_ROOT_HUB_TT
---help---
Variation of ARC USB block used in some Freescale chips.

config USB_EHCI_HCD_OMAP
tristate "EHCI support for OMAP3 and later chips"
- depends on USB_EHCI_HCD && ARCH_OMAP
+ depends on ARCH_OMAP
select NOP_USB_XCEIV
default y
---help---
@@ -156,7 +157,7 @@ config USB_EHCI_HCD_OMAP

config USB_EHCI_MSM
bool "Support for MSM on-chip EHCI USB controller"
- depends on USB_EHCI_HCD && ARCH_MSM
+ depends on ARCH_MSM
select USB_EHCI_ROOT_HUB_TT
select USB_MSM_OTG
---help---
@@ -169,7 +170,7 @@ config USB_EHCI_MSM

config USB_EHCI_TEGRA
boolean "NVIDIA Tegra HCD support"
- depends on USB_EHCI_HCD && ARCH_TEGRA
+ depends on ARCH_TEGRA
select USB_EHCI_ROOT_HUB_TT
help
This driver enables support for the internal USB Host Controllers
@@ -177,7 +178,7 @@ config USB_EHCI_TEGRA

config USB_EHCI_HCD_PPC_OF
bool "EHCI support for PPC USB controller on OF platform bus"
- depends on USB_EHCI_HCD && PPC_OF
+ depends on PPC_OF
default y
---help---
Enables support for the USB controller present on the PowerPC
@@ -185,20 +186,20 @@ config USB_EHCI_HCD_PPC_OF

config USB_EHCI_SH
bool "EHCI support for SuperH USB controller"
- depends on USB_EHCI_HCD && SUPERH
+ depends on SUPERH
---help---
Enables support for the on-chip EHCI controller on the SuperH.
If you use the PCI EHCI controller, this option is not necessary.

config USB_EHCI_S5P
boolean "S5P EHCI support"
- depends on USB_EHCI_HCD && PLAT_S5P
+ depends on PLAT_S5P
help
Enable support for the S5P SOC's on-chip EHCI controller.

config USB_EHCI_MV
bool "EHCI support for Marvell on-chip controller"
- depends on USB_EHCI_HCD && (ARCH_PXA || ARCH_MMP)
+ depends on (ARCH_PXA || ARCH_MMP)
select USB_EHCI_ROOT_HUB_TT
---help---
Enables support for Marvell (including PXA and MMP series) on-chip
@@ -207,13 +208,13 @@ config USB_EHCI_MV

config USB_W90X900_EHCI
bool "W90X900(W90P910) EHCI support"
- depends on USB_EHCI_HCD && ARCH_W90X900
+ depends on ARCH_W90X900
---help---
Enables support for the W90X900 USB controller

config USB_CNS3XXX_EHCI
bool "Cavium CNS3XXX EHCI Module (DEPRECATED)"
- depends on USB_EHCI_HCD && ARCH_CNS3XXX
+ depends on ARCH_CNS3XXX
select USB_EHCI_HCD_PLATFORM
---help---
This option is deprecated now and the driver was removed, use
@@ -225,7 +226,7 @@ config USB_CNS3XXX_EHCI

config USB_EHCI_ATH79
bool "EHCI support for AR7XXX/AR9XXX SoCs (DEPRECATED)"
- depends on USB_EHCI_HCD && (SOC_AR71XX || SOC_AR724X || SOC_AR913X || SOC_AR933X)
+ depends on (SOC_AR71XX || SOC_AR724X || SOC_AR913X || SOC_AR933X)
select USB_EHCI_ROOT_HUB_TT
select USB_EHCI_HCD_PLATFORM
default y
@@ -236,6 +237,28 @@ config USB_EHCI_ATH79
Enables support for the built-in EHCI controller present
on the Atheros AR7XXX/AR9XXX SoCs.

+config USB_EHCI_HCD_PLATFORM
+ tristate "Generic EHCI driver for a platform device"
+ default n
+ ---help---
+ Adds an EHCI host driver for a generic platform device, which
+ provides a memory space and an irq.
+
+ If unsure, say N.
+
+config USB_OCTEON_EHCI
+ bool "Octeon on-chip EHCI support"
+ depends on CPU_CAVIUM_OCTEON
+ default n
+ select USB_EHCI_BIG_ENDIAN_MMIO
+ help
+ Enable support for the Octeon II SOC's on-chip EHCI
+ controller. It is needed for high-speed (480Mbit/sec)
+ USB 2.0 device support. All CN6XXX based chips with USB are
+ supported.
+
+endif # USB_EHCI_HCD
+
config USB_OXU210HP_HCD
tristate "OXU210HP HCD support"
depends on GENERIC_HARDIRQS
@@ -418,15 +441,6 @@ config USB_OHCI_HCD_PLATFORM

If unsure, say N.

-config USB_EHCI_HCD_PLATFORM
- tristate "Generic EHCI driver for a platform device"
- depends on USB_EHCI_HCD
- default n
- ---help---
- Adds an EHCI host driver for a generic platform device, which
- provides a memory space and an irq.
-
- If unsure, say N.

config USB_OHCI_BIG_ENDIAN_DESC
bool
@@ -619,16 +633,6 @@ config USB_IMX21_HCD
To compile this driver as a module, choose M here: the
module will be called "imx21-hcd".

-config USB_OCTEON_EHCI
- bool "Octeon on-chip EHCI support"
- depends on USB_EHCI_HCD && CPU_CAVIUM_OCTEON
- default n
- select USB_EHCI_BIG_ENDIAN_MMIO
- help
- Enable support for the Octeon II SOC's on-chip EHCI
- controller. It is needed for high-speed (480Mbit/sec)
- USB 2.0 device support. All CN6XXX based chips with USB are
- supported.

config USB_OCTEON_OHCI
bool "Octeon on-chip OHCI support"
--
1.7.10.4

2013-04-02 18:06:54

by Alan Stern

[permalink] [raw]
Subject: Re: [PATCH 1/5 v2] USB: regroup all depends on USB within an if USB block

On Tue, 2 Apr 2013, Florian Fainelli wrote:

> This patch removes the depends on USB from all config symbols in
> drivers/usb/host/Kconfig and replace that with an if USB / endif block
> as suggested by Alan Stern. Some source ... Kconfig lines have been
> shuffled around to permit a better regroupment of the Kconfig files
> depending on "config USB" item. No functionnal change is introduced.

This looks almost right. The only problem I see is in
drivers/usb/core/Kconfig. The USB_OTG_WHITELIST and
USB_OTG_BLACKLIST_HUB symbols don't have to depend on USB or USB_OTG,
because they can be set if EXPERT is enabled.

To avoid these issues, I think the best approach is to move all the
USB_OTG* entries over to drivers/usb/otg/Kconfig, where by rights they
should have been all along.

Felipe, do you agree?

Alan Stern

2013-04-02 18:19:52

by Felipe Balbi

[permalink] [raw]
Subject: Re: [PATCH 1/5 v2] USB: regroup all depends on USB within an if USB block

Hi,

On Tue, Apr 02, 2013 at 07:10:22PM +0200, Florian Fainelli wrote:
> diff --git a/drivers/usb/musb/Kconfig b/drivers/usb/musb/Kconfig
> index 05e5143..ab5a3b9 100644
> --- a/drivers/usb/musb/Kconfig
> +++ b/drivers/usb/musb/Kconfig
> @@ -6,7 +6,6 @@
> # (M)HDRC = (Multipoint) Highspeed Dual-Role Controller
> config USB_MUSB_HDRC
> tristate 'Inventra Highspeed Dual Role Controller (TI, ADI, ...)'
> - depends on USB && USB_GADGET

shouldn't:

depends on USB_GADGET

be left here ?

--
balbi


Attachments:
(No filename) (502.00 B)
signature.asc (836.00 B)
Digital signature
Download all attachments

2013-04-02 18:21:45

by Alan Stern

[permalink] [raw]
Subject: Re: [PATCH 2/5 v2] USB: remove USB_EHCI_BIG_ENDIAN_{DESC,MMIO} depends on architecture symbol

On Tue, 2 Apr 2013, Florian Fainelli wrote:

> Just like the OHCI counter part we just can remove the architecture
> specific symbols which prevent these configuration symbols from being
> selected by platforms/architectures requiring it. The original
> implementation did not scale at all since it required each and every
> single architecture to be added for these configuration symbols to be
> selected. Now it is up to the EHCI driver and/or platform to select
> these configuration symbols accordingly.
>
> Signed-off-by: Florian Fainelli <[email protected]>

Acked-by: Alan Stern <[email protected]>

2013-04-02 18:33:39

by Alan Stern

[permalink] [raw]
Subject: Re: [PATCH 3/5 v2] USB: enclose EHCI HCD drivers within an if USB_EHCI_HCD block

On Tue, 2 Apr 2013, Florian Fainelli wrote:

> Thist patch removes the depends on USB_EHCI_HCD that the various USB
> EHCI HCD drivers use and encloses every driver within an if USB_EHCI_HCD
> / endif block. The EHCI HCD platform and Octeon drivers have been moved
> around to remain enclosed within this block.
>
> Signed-off-by: Florian Fainelli <[email protected]>

Okay except for two things. First, you missed the
USB_EHCI_BIG_ENDIAN_DESC entry. Second, the Kconfig file has this
right in the middle of the section you changed:

config USB_FSL_MPH_DR_OF
tristate

It's probably a mistake to put this under the "if USB_EHCI_HCD"
umbrella. I guess it should be moved out of the way.

Alan Stern

2013-04-02 18:42:38

by Alan Stern

[permalink] [raw]
Subject: Re: [PATCH 4/5 v2] USB: enclose all depends on USB_OHCI_HCD within an if USB_OHCI_HCD block

On Tue, 2 Apr 2013, Florian Fainelli wrote:

> This patch removes the various depends on USB_OHCI_HCD from the OHCI HCD
> drivers and enclose them within an if USB_OHCI_HCD / endif block. The
> Octeon OHCI HCD driver has been moved around to remain in this block.
>
> Signed-off-by: Florian Fainelli <[email protected]>

Acked-by: Alan Stern <[email protected]>

2013-04-02 18:43:47

by Alan Stern

[permalink] [raw]
Subject: Re: [PATCH 5/5 v2] USB: enclose USB_XHCI_HCD related symbols within a if USB_XHCI_HCD block

On Tue, 2 Apr 2013, Florian Fainelli wrote:

> This patch encloses all symbols depending on USB_XHCI_HCD within an if
> USB_XHCI_HCD / endif block.
>
> Signed-off-by: Florian Fainelli <[email protected]>

Acked-by: Alan Stern <[email protected]>

2013-04-03 11:54:29

by Florian Fainelli

[permalink] [raw]
Subject: Re: [PATCH 1/5 v2] USB: regroup all depends on USB within an if USB block

Le 04/02/13 20:19, [email protected] a écrit :
> Hi,
>
> On Tue, Apr 02, 2013 at 07:10:22PM +0200, Florian Fainelli wrote:
>> diff --git a/drivers/usb/musb/Kconfig b/drivers/usb/musb/Kconfig
>> index 05e5143..ab5a3b9 100644
>> --- a/drivers/usb/musb/Kconfig
>> +++ b/drivers/usb/musb/Kconfig
>> @@ -6,7 +6,6 @@
>> # (M)HDRC = (Multipoint) Highspeed Dual-Role Controller
>> config USB_MUSB_HDRC
>> tristate 'Inventra Highspeed Dual Role Controller (TI, ADI, ...)'
>> - depends on USB && USB_GADGET
>
> shouldn't:
>
> depends on USB_GADGET
>
> be left here ?

Indeed this should be left there. Thanks!
--
Florian

2013-04-03 12:11:34

by Florian Fainelli

[permalink] [raw]
Subject: Re: [PATCH 1/5 v2] USB: regroup all depends on USB within an if USB block

Le 04/02/13 20:06, Alan Stern a écrit :
> On Tue, 2 Apr 2013, Florian Fainelli wrote:
>
>> This patch removes the depends on USB from all config symbols in
>> drivers/usb/host/Kconfig and replace that with an if USB / endif block
>> as suggested by Alan Stern. Some source ... Kconfig lines have been
>> shuffled around to permit a better regroupment of the Kconfig files
>> depending on "config USB" item. No functionnal change is introduced.
>
> This looks almost right. The only problem I see is in
> drivers/usb/core/Kconfig. The USB_OTG_WHITELIST and
> USB_OTG_BLACKLIST_HUB symbols don't have to depend on USB or USB_OTG,
> because they can be set if EXPERT is enabled.
>
> To avoid these issues, I think the best approach is to move all the
> USB_OTG* entries over to drivers/usb/otg/Kconfig, where by rights they
> should have been all along.
>
> Felipe, do you agree?

Make sense, I will make this a sixth patch to this serie if this sounds
right with you?
--
Florian

2013-04-03 12:15:31

by Felipe Balbi

[permalink] [raw]
Subject: Re: [PATCH 1/5 v2] USB: regroup all depends on USB within an if USB block

On Wed, Apr 03, 2013 at 02:11:13PM +0200, Florian Fainelli wrote:
> Le 04/02/13 20:06, Alan Stern a ?crit :
> >On Tue, 2 Apr 2013, Florian Fainelli wrote:
> >
> >>This patch removes the depends on USB from all config symbols in
> >>drivers/usb/host/Kconfig and replace that with an if USB / endif block
> >>as suggested by Alan Stern. Some source ... Kconfig lines have been
> >>shuffled around to permit a better regroupment of the Kconfig files
> >>depending on "config USB" item. No functionnal change is introduced.
> >
> >This looks almost right. The only problem I see is in
> >drivers/usb/core/Kconfig. The USB_OTG_WHITELIST and
> >USB_OTG_BLACKLIST_HUB symbols don't have to depend on USB or USB_OTG,
> >because they can be set if EXPERT is enabled.
> >
> >To avoid these issues, I think the best approach is to move all the
> >USB_OTG* entries over to drivers/usb/otg/Kconfig, where by rights they
> >should have been all along.
> >
> >Felipe, do you agree?
>
> Make sense, I will make this a sixth patch to this serie if this
> sounds right with you?

Pleae don't. Look at my 'next' branch. I deleted drivers/usb/otg/
completely. OTG should be part of usbcore and I have plans of adding
generic (and optional) OTG hooks in there.

--
balbi


Attachments:
(No filename) (1.22 kB)
signature.asc (836.00 B)
Digital signature
Download all attachments

2013-04-03 12:18:41

by Florian Fainelli

[permalink] [raw]
Subject: Re: [PATCH 1/5 v2] USB: regroup all depends on USB within an if USB block

Le 04/03/13 14:15, Felipe Balbi a écrit :
> On Wed, Apr 03, 2013 at 02:11:13PM +0200, Florian Fainelli wrote:
>> Le 04/02/13 20:06, Alan Stern a écrit :
>>> On Tue, 2 Apr 2013, Florian Fainelli wrote:
>>>
>>>> This patch removes the depends on USB from all config symbols in
>>>> drivers/usb/host/Kconfig and replace that with an if USB / endif block
>>>> as suggested by Alan Stern. Some source ... Kconfig lines have been
>>>> shuffled around to permit a better regroupment of the Kconfig files
>>>> depending on "config USB" item. No functionnal change is introduced.
>>>
>>> This looks almost right. The only problem I see is in
>>> drivers/usb/core/Kconfig. The USB_OTG_WHITELIST and
>>> USB_OTG_BLACKLIST_HUB symbols don't have to depend on USB or USB_OTG,
>>> because they can be set if EXPERT is enabled.
>>>
>>> To avoid these issues, I think the best approach is to move all the
>>> USB_OTG* entries over to drivers/usb/otg/Kconfig, where by rights they
>>> should have been all along.
>>>
>>> Felipe, do you agree?
>>
>> Make sense, I will make this a sixth patch to this serie if this
>> sounds right with you?
>
> Pleae don't. Look at my 'next' branch. I deleted drivers/usb/otg/
> completely. OTG should be part of usbcore and I have plans of adding
> generic (and optional) OTG hooks in there.

Ok, then I will leave it as it is now and simply address the comment
your made initially, does that fit both you and Alan? Thanks!
--
Florian

2013-04-03 12:22:13

by Felipe Balbi

[permalink] [raw]
Subject: Re: [PATCH 1/5 v2] USB: regroup all depends on USB within an if USB block

On Wed, Apr 03, 2013 at 02:18:20PM +0200, Florian Fainelli wrote:
> Le 04/03/13 14:15, Felipe Balbi a ?crit :
> >On Wed, Apr 03, 2013 at 02:11:13PM +0200, Florian Fainelli wrote:
> >>Le 04/02/13 20:06, Alan Stern a ?crit :
> >>>On Tue, 2 Apr 2013, Florian Fainelli wrote:
> >>>
> >>>>This patch removes the depends on USB from all config symbols in
> >>>>drivers/usb/host/Kconfig and replace that with an if USB / endif block
> >>>>as suggested by Alan Stern. Some source ... Kconfig lines have been
> >>>>shuffled around to permit a better regroupment of the Kconfig files
> >>>>depending on "config USB" item. No functionnal change is introduced.
> >>>
> >>>This looks almost right. The only problem I see is in
> >>>drivers/usb/core/Kconfig. The USB_OTG_WHITELIST and
> >>>USB_OTG_BLACKLIST_HUB symbols don't have to depend on USB or USB_OTG,
> >>>because they can be set if EXPERT is enabled.
> >>>
> >>>To avoid these issues, I think the best approach is to move all the
> >>>USB_OTG* entries over to drivers/usb/otg/Kconfig, where by rights they
> >>>should have been all along.
> >>>
> >>>Felipe, do you agree?
> >>
> >>Make sense, I will make this a sixth patch to this serie if this
> >>sounds right with you?
> >
> >Pleae don't. Look at my 'next' branch. I deleted drivers/usb/otg/
> >completely. OTG should be part of usbcore and I have plans of adding
> >generic (and optional) OTG hooks in there.
>
> Ok, then I will leave it as it is now and simply address the comment
> your made initially, does that fit both you and Alan? Thanks!

Fine by me, if something else needs to go, then we can tackle it during
-rc or for v3.11.

--
balbi


Attachments:
(No filename) (1.61 kB)
signature.asc (836.00 B)
Digital signature
Download all attachments

2013-04-03 18:10:10

by Alan Stern

[permalink] [raw]
Subject: Re: [PATCH 1/5 v2] USB: regroup all depends on USB within an if USB block

On Wed, 3 Apr 2013, Felipe Balbi wrote:

> On Wed, Apr 03, 2013 at 02:18:20PM +0200, Florian Fainelli wrote:
> > Le 04/03/13 14:15, Felipe Balbi a ?crit :
> > >On Wed, Apr 03, 2013 at 02:11:13PM +0200, Florian Fainelli wrote:
> > >>Le 04/02/13 20:06, Alan Stern a ?crit :
> > >>>On Tue, 2 Apr 2013, Florian Fainelli wrote:
> > >>>
> > >>>>This patch removes the depends on USB from all config symbols in
> > >>>>drivers/usb/host/Kconfig and replace that with an if USB / endif block
> > >>>>as suggested by Alan Stern. Some source ... Kconfig lines have been
> > >>>>shuffled around to permit a better regroupment of the Kconfig files
> > >>>>depending on "config USB" item. No functionnal change is introduced.
> > >>>
> > >>>This looks almost right. The only problem I see is in
> > >>>drivers/usb/core/Kconfig. The USB_OTG_WHITELIST and
> > >>>USB_OTG_BLACKLIST_HUB symbols don't have to depend on USB or USB_OTG,
> > >>>because they can be set if EXPERT is enabled.
> > >>>
> > >>>To avoid these issues, I think the best approach is to move all the
> > >>>USB_OTG* entries over to drivers/usb/otg/Kconfig, where by rights they
> > >>>should have been all along.
> > >>>
> > >>>Felipe, do you agree?
> > >>
> > >>Make sense, I will make this a sixth patch to this serie if this
> > >>sounds right with you?
> > >
> > >Pleae don't. Look at my 'next' branch. I deleted drivers/usb/otg/
> > >completely. OTG should be part of usbcore and I have plans of adding
> > >generic (and optional) OTG hooks in there.
> >
> > Ok, then I will leave it as it is now and simply address the comment
> > your made initially, does that fit both you and Alan? Thanks!
>
> Fine by me, if something else needs to go, then we can tackle it during
> -rc or for v3.11.

As long as it's okay with Felipe, it's okay with me.

Alan Stern