2013-04-04 15:57:51

by Florian Fainelli

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


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! 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 | 169 +++++++++++++++++------------------
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/renesas_usbhs/Kconfig | 2 +-
drivers/usb/serial/Kconfig | 2 +-
drivers/usb/storage/Kconfig | 7 +-
drivers/usb/wusbcore/Kconfig | 2 -
19 files changed, 116 insertions(+), 144 deletions(-)

--
1.7.10.4


2013-04-04 15:57:53

by Florian Fainelli

[permalink] [raw]
Subject: [PATCH 5/5 v3] 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.

Acked-by: Alan Stern <[email protected]>
Signed-off-by: Florian Fainelli <[email protected]>
---
Changes in v3:
- added Alan's Acked-by tag

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 8ff86d3..c7cb18d 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-04 15:58:08

by Florian Fainelli

[permalink] [raw]
Subject: [PATCH 1/5 v3] 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 v2:
- properly keep USB_MUSB_HDRC dependency

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 | 2 +-
drivers/usb/renesas_usbhs/Kconfig | 2 +-
drivers/usb/serial/Kconfig | 2 +-
drivers/usb/storage/Kconfig | 7 +++----
drivers/usb/wusbcore/Kconfig | 2 --
14 files changed, 36 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..4636ab9 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_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-04 15:57:49

by Florian Fainelli

[permalink] [raw]
Subject: [PATCH 3/5 v3] 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]>
---
Changes in v3:
- move out USB_FSL_MPH_DR_OF from the USB_EHCI_HCD block
- remove depends on USB_EHCI_HCD for USB_EHCI_BIG_ENDIAN_DESC

drivers/usb/host/Kconfig | 81 ++++++++++++++++++++++++----------------------
1 file changed, 42 insertions(+), 39 deletions(-)

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

If unsure, say Y.

+config USB_FSL_MPH_DR_OF
+ tristate
+
+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,15 +115,13 @@ 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
- depends on USB_EHCI_HCD

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---
@@ -127,12 +130,9 @@ config XPS_USB_HCD_XILINX
support both high speed and full speed devices, or high speed
devices only.

-config USB_FSL_MPH_DR_OF
- tristate
-
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 +140,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 +156,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 +169,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 +177,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 +185,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 +207,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 +225,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 +236,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 +440,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 +632,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-04 15:58:46

by Florian Fainelli

[permalink] [raw]
Subject: [PATCH 2/5 v3] 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.

Acked-by: Alan Stern <[email protected]>
Signed-off-by: Florian Fainelli <[email protected]>
---
Changes in v2:
- added Alan's Acked-by tag

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-04 15:59:19

by Florian Fainelli

[permalink] [raw]
Subject: [PATCH 4/5 v3] 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.

Acked-by: Alan Stern <[email protected]>
Signed-off-by: Florian Fainelli <[email protected]>
---
Changes in v3:
- added Alan's Acked-by tag

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 415ebdd..8ff86d3 100644
--- a/drivers/usb/host/Kconfig
+++ b/drivers/usb/host/Kconfig
@@ -326,16 +326,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
@@ -343,7 +345,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
@@ -355,7 +357,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---
@@ -364,7 +366,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
@@ -372,12 +374,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---
@@ -386,7 +388,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
@@ -404,7 +406,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
@@ -415,13 +417,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
@@ -432,7 +434,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
@@ -440,23 +441,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
@@ -633,16 +644,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-04 17:02:05

by Alan Stern

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

On Thu, 4 Apr 2013, Florian Fainelli wrote:

>
> 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! 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

They all look good now. You can add my Acked-by to the remaining ones.

Alan Stern

2013-04-04 17:15:00

by Felipe Balbi

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

Hi,

On Thu, Apr 04, 2013 at 05:57:24PM +0200, Florian Fainelli wrote:
> 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)

is it just me or would everybody agree that depending on MUSB or EHCI
here is wrong ?

> 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..4636ab9 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_GADGET

great, except for the question above:

Acked-by: Felipe Balbi <[email protected]>

--
balbi


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

2013-04-04 17:42:21

by Alan Stern

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

On Thu, 4 Apr 2013, Felipe Balbi wrote:

> Hi,
>
> On Thu, Apr 04, 2013 at 05:57:24PM +0200, Florian Fainelli wrote:
> > 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)
>
> is it just me or would everybody agree that depending on MUSB or EHCI
> here is wrong ?

That line certainly looks like it could be removed entirely. Perhaps
the original author can enlighten us.

In any case, it's not relevant to the purpose of this patch set.

Alan Stern

2013-04-04 18:02:55

by Felipe Balbi

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

Hi,

On Thu, Apr 04, 2013 at 01:42:18PM -0400, Alan Stern wrote:
> > > 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)
> >
> > is it just me or would everybody agree that depending on MUSB or EHCI
> > here is wrong ?
>
> That line certainly looks like it could be removed entirely. Perhaps
> the original author can enlighten us.
>
> In any case, it's not relevant to the purpose of this patch set.

right :-)

--
balbi


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

2013-04-04 19:42:43

by Arnd Bergmann

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

On Thursday 04 April 2013, Felipe Balbi wrote:
> On Thu, Apr 04, 2013 at 01:42:18PM -0400, Alan Stern wrote:
> > > > 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)
> > >
> > > is it just me or would everybody agree that depending on MUSB or EHCI
> > > here is wrong ?
> >
> > That line certainly looks like it could be removed entirely. Perhaps
> > the original author can enlighten us.
> >
> > In any case, it's not relevant to the purpose of this patch set.
>
> right :-)
>

Originally it had just "depends on USB_EHCI_HCD" and the text mentions that
it requires USB 2.0, so it probably comes from a time where EHCI was the
only high speed capable USB HCD.

Arnd

2013-04-06 09:59:11

by Thomas Winischhofer

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

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Arnd Bergmann wrote:
> On Thursday 04 April 2013, Felipe Balbi wrote:
>> On Thu, Apr 04, 2013 at 01:42:18PM -0400, Alan Stern wrote:
>>>>> 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)
>>>> is it just me or would everybody agree that depending on MUSB or EHCI
>>>> here is wrong ?
>>> That line certainly looks like it could be removed entirely. Perhaps
>>> the original author can enlighten us.
>>>
>>> In any case, it's not relevant to the purpose of this patch set.
>> right :-)
>>
>
> Originally it had just "depends on USB_EHCI_HCD" and the text mentions that
> it requires USB 2.0, so it probably comes from a time where EHCI was the
> only high speed capable USB HCD.
>
> Arnd
>

That's exactly right.

Thomas

- --
Thomas Winischhofer
thomas AT winischhofer DOT net
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (Darwin)

iD8DBQFRX/A3zydIRAktyUcRAo+YAJ9bmOrODMsIiBessMNnrmYJLYvmhwCgyABL
z9A6pb1sab2VwnI8i5v3bCI=
=HNat
-----END PGP SIGNATURE-----

2013-04-08 16:32:49

by Greg KH

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

On Thu, Apr 04, 2013 at 05:57:23PM +0200, Florian Fainelli wrote:
>
> 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 series doesn't apply to my tree at the moment. Can you refresh it
based on linux-next and resend it, with Alan's acks added?

thanks,

greg k-h

2013-04-08 18:16:50

by Florian Fainelli

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

Le 08/04/2013 18:32, Greg KH a ?crit :
> On Thu, Apr 04, 2013 at 05:57:23PM +0200, Florian Fainelli wrote:
>>
>> 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 series doesn't apply to my tree at the moment. Can you refresh it
> based on linux-next and resend it, with Alan's acks added?

Sure, it was based on usb-next, I will refresh that, thanks!
--
Florian

2013-04-08 18:23:16

by Greg KH

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

On Mon, Apr 08, 2013 at 08:16:46PM +0200, Florian Fainelli wrote:
> Le 08/04/2013 18:32, Greg KH a ?crit :
> >On Thu, Apr 04, 2013 at 05:57:23PM +0200, Florian Fainelli wrote:
> >>
> >>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 series doesn't apply to my tree at the moment. Can you refresh it
> >based on linux-next and resend it, with Alan's acks added?
>
> Sure, it was based on usb-next, I will refresh that, thanks!

usb-next is best, sorry, I didn't realize that. That's what I need to
apply it to, but it didn't work due to changes in the gadget tree.

thanks,

greg k-h

2013-04-09 12:29:56

by Florian Fainelli

[permalink] [raw]
Subject: [PATCH 3/5 v4] 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.

Acked-by: Alan Stern <[email protected]>
Signed-off-by: Florian Fainelli <[email protected]>
---
Changes in v4:
- added Alan's Acked-by tag
- refreshed against latest usb-next

Changes in v3:
- move out USB_FSL_MPH_DR_OF from the USB_EHCI_HCD block
- remove depends on USB_EHCI_HCD for USB_EHCI_BIG_ENDIAN_DESC

drivers/usb/host/Kconfig | 81 ++++++++++++++++++++++++----------------------
1 file changed, 42 insertions(+), 39 deletions(-)

diff --git a/drivers/usb/host/Kconfig b/drivers/usb/host/Kconfig
index 436b682..bc9123c 100644
--- a/drivers/usb/host/Kconfig
+++ b/drivers/usb/host/Kconfig
@@ -93,14 +93,19 @@ config USB_EHCI_TT_NEWSCHED

If unsure, say Y.

+config USB_FSL_MPH_DR_OF
+ tristate
+
+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,15 +115,13 @@ 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
- depends on USB_EHCI_HCD

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---
@@ -127,12 +130,9 @@ config XPS_USB_HCD_XILINX
support both high speed and full speed devices, or high speed
devices only.

-config USB_FSL_MPH_DR_OF
- tristate
-
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 +140,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---
@@ -183,7 +183,7 @@ config USB_EHCI_HCD_AT91

config USB_EHCI_MSM
tristate "Support for Qualcomm QSD/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---
@@ -196,7 +196,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
select USB_PHY
help
@@ -205,7 +205,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
@@ -213,21 +213,21 @@ 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
tristate "EHCI support for Samsung S5P/EXYNOS SoC Series"
- depends on USB_EHCI_HCD && PLAT_S5P
+ depends on PLAT_S5P
help
Enable support for the Samsung S5Pxxxx and Exynos3/4/5 SOC's
on-chip EHCI controller.

config USB_EHCI_MV
bool "EHCI support for Marvell PXA/MMP USB 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
@@ -240,13 +240,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
@@ -258,7 +258,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
@@ -269,6 +269,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
@@ -450,15 +472,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
@@ -651,16 +664,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-09 12:30:20

by Florian Fainelli

[permalink] [raw]
Subject: [PATCH 1/5 v4] 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.

Acked-by: Alan Stern <[email protected]>
Signed-off-by: Florian Fainelli <[email protected]>
---
Changes since v3:
- added Alan's Acked-by tag
- refreshed against usb-next

Changes since v2:
- properly keep USB_MUSB_HDRC dependency

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 | 2 +-
drivers/usb/renesas_usbhs/Kconfig | 2 +-
drivers/usb/serial/Kconfig | 2 +-
drivers/usb/storage/Kconfig | 7 +++----
drivers/usb/wusbcore/Kconfig | 2 --
14 files changed, 36 insertions(+), 74 deletions(-)

diff --git a/drivers/usb/Kconfig b/drivers/usb/Kconfig
index 2c481b8..92e1dc9 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"

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/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 dbeac41..1714c6d 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.
@@ -280,7 +278,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.
@@ -293,7 +291,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.
@@ -305,7 +302,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.

@@ -320,7 +316,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
@@ -332,7 +327,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
depends on USB_ISP1301 || !ARCH_LPC32XX
---help---
@@ -490,7 +485,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
@@ -530,7 +525,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
@@ -547,7 +542,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
@@ -575,7 +570,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
@@ -607,7 +601,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.

@@ -619,7 +612,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.
@@ -644,7 +636,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
@@ -658,7 +650,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.
@@ -668,7 +660,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
@@ -679,7 +671,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 47442d3..06f8d29 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_GADGET
help
Say Y here if your system has a dual role high speed USB
controller based on the Mentor Graphics silicon IP. Then
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-09 12:29:55

by Florian Fainelli

[permalink] [raw]
Subject: [PATCH 4/5 v4] 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.

Acked-by: Alan Stern <[email protected]>
Signed-off-by: Florian Fainelli <[email protected]>
---
Changes in v4:
- refreshed against latest usb-next

Changes in v3:
- added Alan's Acked-by tag

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 bc9123c..76f8bbc 100644
--- a/drivers/usb/host/Kconfig
+++ b/drivers/usb/host/Kconfig
@@ -358,16 +358,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
@@ -375,7 +377,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
@@ -387,7 +389,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---
@@ -396,7 +398,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
@@ -404,12 +406,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---
@@ -418,7 +420,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
@@ -436,7 +438,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
@@ -447,13 +449,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
@@ -464,7 +466,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
@@ -472,23 +473,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
@@ -665,16 +676,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-09 12:30:59

by Florian Fainelli

[permalink] [raw]
Subject: [PATCH 5/5 v4] 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.

Acked-by: Alan Stern <[email protected]>
Signed-off-by: Florian Fainelli <[email protected]>
---
Changes in v4:
- refreshed against latest usb-next

Changes in v3:
- added Alan's Acked-by tag
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 76f8bbc..c0be25c 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-09 12:31:25

by Florian Fainelli

[permalink] [raw]
Subject: [PATCH 2/5 v4] 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.

Acked-by: Alan Stern <[email protected]>
Signed-off-by: Florian Fainelli <[email protected]>
---
Changes in v4:
- refreshed against latest usb-next

Changes in v2:
- added Alan's Acked-by tag

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 1cacda4..bbddefe 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 51244bf..3a7b395 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 1714c6d..436b682 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-09 12:31:23

by Florian Fainelli

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

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.

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 | 169 +++++++++++++++++------------------
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/renesas_usbhs/Kconfig | 2 +-
drivers/usb/serial/Kconfig | 2 +-
drivers/usb/storage/Kconfig | 7 +-
drivers/usb/wusbcore/Kconfig | 2 -
19 files changed, 116 insertions(+), 144 deletions(-)

--
1.7.10.4

2013-04-23 11:21:17

by Felipe Balbi

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

On Tue, Apr 09, 2013 at 02:29:25PM +0200, 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.
>
> Acked-by: Alan Stern <[email protected]>
> Signed-off-by: Florian Fainelli <[email protected]>

for drivers/usb/musb/:

Acked-by: Felipe Balbi <[email protected]>

--
balbi


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