Re: [PATCH v3 1/7] USB: EHCI: make ehci-orion a separate driver

2013-03-30 Thread Arnd Bergmann
On Friday 29 March 2013, Alan Stern wrote:
 I don't know about this last phrase.  When someone is running make 
 menuconfig, for example, what shows up is the symbol's description, 
 not the symbol's name.  That person would see EHCI support for Marvell 
 on-chip controller, not USB_EHCI_MV.
 
 In fact, shouldn't the description for USB_EHCI_MV be changed too, to 
 make it more distinct from this one?
 
 All the code changes are fine.

Ok, I've included these Kconfig changes. Originally, the text change
for PXA/MMP was included in the patch for ehci-mv, but that one is
deferred to 3.11 now because of dependencies for the platform code that
we want to first merge in 3.10.

Arnd
--
To unsubscribe from this list: send the line unsubscribe linux-usb in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v3 1/7] USB: EHCI: make ehci-orion a separate driver

2013-03-29 Thread Alan Stern
On Thu, 28 Mar 2013, Arnd Bergmann wrote:

 From: Manjunath Goudar manjunath.gou...@linaro.org
 
 Separate the Orion host controller driver from ehci-hcd host
 code into its own driver module because of following reason.
...

On the whole this patch is good.

 --- a/drivers/usb/host/Kconfig
 +++ b/drivers/usb/host/Kconfig
 @@ -163,6 +163,16 @@ config USB_EHCI_HCD_OMAP
 Enables support for the on-chip EHCI controller on
 OMAP3 and later chips.
  
 +config USB_EHCI_HCD_ORION
 + tristate  Support for Marvell EBU on-chip EHCI USB controller
 + depends on USB_EHCI_HCD  PLAT_ORION
 + default y
 + ---help---
 +   Enables support for the on-chip EHCI controller on Marvell's
 +   embedded ARM SoCs, including Orion, Kirkwood, Dove, Armada XP,
 +   Armada 370.  This is different from the EHCI implementation
 +   on Marvell's mobile PXA and MMP SoC, see USB_EHCI_MV for those.

I don't know about this last phrase.  When someone is running make 
menuconfig, for example, what shows up is the symbol's description, 
not the symbol's name.  That person would see EHCI support for Marvell 
on-chip controller, not USB_EHCI_MV.

In fact, shouldn't the description for USB_EHCI_MV be changed too, to 
make it more distinct from this one?

All the code changes are fine.

Alan Stern

--
To unsubscribe from this list: send the line unsubscribe linux-usb in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH v3 1/7] USB: EHCI: make ehci-orion a separate driver

2013-03-28 Thread Arnd Bergmann
From: Manjunath Goudar manjunath.gou...@linaro.org

Separate the Orion host controller driver from ehci-hcd host
code into its own driver module because of following reason.

With the multiplatform changes in arm-soc tree, it becomes
possible to enable the mvebu platform (which uses
ehci-orion) at the same time as other platforms that require
a conflicting EHCI bus glue. At the moment, this results
in a warning like

drivers/usb/host/ehci-hcd.c:1297:0: warning: PLATFORM_DRIVER redefined 
[enabled by default]
drivers/usb/host/ehci-hcd.c:1277:0: note: this is the location of the previous 
definition
drivers/usb/host/ehci-orion.c:334:31: warning: 'ehci_orion_driver' defined but 
not used [-Wunused-variable]

and an ehci driver that only works on one of them.

With the infrastructure added by Alan Stern in patch 3e0232039
USB: EHCI: prepare to make ehci-hcd a library module, we can
avoid this problem by turning a bus glue into a separate
module, as we do here for the orion bus glue.

An earlier version of this patch was included in 3.9 but caused
a regression there, which has subsequently been fixed.

In V3:
1.More detail provided in commit message regarding this patch.
2.Replaced hcd_name string ehci-orion into orion-ehci.
3.MODULE_LICENSE is GPL v2.
4.In ehci_init_driver calling second argument passed  as NULL instead of
   ehci_orion_overrides because ehci_orion_overrides is removed.

In V2:
Tegra patch related changes removed from this patch.

Signed-off-by: Manjunath Goudar manjunath.gou...@linaro.org
Signed-off-by: Arnd Bergmann a...@arndb.de
Acked-by: Jason Cooper ja...@lakedaemon.net
Tested-by: Andrew Lunn and...@lunn.ch
Cc: Greg KH g...@kroah.com
Cc: Alan Stern st...@rowland.harvard.edu
Cc: Russell King li...@arm.linux.org.uk
Cc: linux-arm-ker...@lists.infradead.org
Cc: linux-ker...@vger.kernel.org
---
 drivers/usb/host/Kconfig  | 10 ++
 drivers/usb/host/Makefile |  1 +
 drivers/usb/host/ehci-hcd.c   |  6 +---
 drivers/usb/host/ehci-orion.c | 82 ++-
 4 files changed, 47 insertions(+), 52 deletions(-)

diff --git a/drivers/usb/host/Kconfig b/drivers/usb/host/Kconfig
index 2f68221..d89b7ad 100644
--- a/drivers/usb/host/Kconfig
+++ b/drivers/usb/host/Kconfig
@@ -163,6 +163,16 @@ config USB_EHCI_HCD_OMAP
  Enables support for the on-chip EHCI controller on
  OMAP3 and later chips.
 
+config USB_EHCI_HCD_ORION
+   tristate  Support for Marvell EBU on-chip EHCI USB controller
+   depends on USB_EHCI_HCD  PLAT_ORION
+   default y
+   ---help---
+ Enables support for the on-chip EHCI controller on Marvell's
+ embedded ARM SoCs, including Orion, Kirkwood, Dove, Armada XP,
+ Armada 370.  This is different from the EHCI implementation
+ on Marvell's mobile PXA and MMP SoC, see USB_EHCI_MV for those.
+
 config USB_EHCI_MSM
bool Support for MSM on-chip EHCI USB controller
depends on USB_EHCI_HCD  ARCH_MSM
diff --git a/drivers/usb/host/Makefile b/drivers/usb/host/Makefile
index 56de410..9492f50 100644
--- a/drivers/usb/host/Makefile
+++ b/drivers/usb/host/Makefile
@@ -28,6 +28,7 @@ obj-$(CONFIG_USB_EHCI_PCI)+= ehci-pci.o
 obj-$(CONFIG_USB_EHCI_HCD_PLATFORM)+= ehci-platform.o
 obj-$(CONFIG_USB_EHCI_MXC) += ehci-mxc.o
 obj-$(CONFIG_USB_EHCI_HCD_OMAP)+= ehci-omap.o
+obj-$(CONFIG_USB_EHCI_HCD_ORION)   += ehci-orion.o
 
 obj-$(CONFIG_USB_OXU210HP_HCD) += oxu210hp-hcd.o
 obj-$(CONFIG_USB_ISP116X_HCD)  += isp116x-hcd.o
diff --git a/drivers/usb/host/ehci-hcd.c b/drivers/usb/host/ehci-hcd.c
index b12b97d..1f97268 100644
--- a/drivers/usb/host/ehci-hcd.c
+++ b/drivers/usb/host/ehci-hcd.c
@@ -1249,11 +1249,6 @@ MODULE_LICENSE (GPL);
 #define XILINX_OF_PLATFORM_DRIVER  ehci_hcd_xilinx_of_driver
 #endif
 
-#ifdef CONFIG_PLAT_ORION
-#include ehci-orion.c
-#definePLATFORM_DRIVER ehci_orion_driver
-#endif
-
 #ifdef CONFIG_USB_W90X900_EHCI
 #include ehci-w90x900.c
 #definePLATFORM_DRIVER ehci_hcd_w90x900_driver
@@ -1319,6 +1314,7 @@ MODULE_LICENSE (GPL);
!IS_ENABLED(CONFIG_USB_CHIPIDEA_HOST)  \
!IS_ENABLED(CONFIG_USB_EHCI_MXC)  \
!IS_ENABLED(CONFIG_USB_EHCI_HCD_OMAP)  \
+   !IS_ENABLED(CONFIG_USB_EHCI_HCD_ORION)  \
!defined(PLATFORM_DRIVER)  \
!defined(PS3_SYSTEM_BUS_DRIVER)  \
!defined(OF_PLATFORM_DRIVER)  \
diff --git a/drivers/usb/host/ehci-orion.c b/drivers/usb/host/ehci-orion.c
index 38c45fb..54c5794 100644
--- a/drivers/usb/host/ehci-orion.c
+++ b/drivers/usb/host/ehci-orion.c
@@ -17,6 +17,12 @@
 #include linux/of.h
 #include linux/of_device.h
 #include linux/of_irq.h
+#include linux/usb.h
+#include linux/usb/hcd.h
+#include linux/io.h
+#include linux/dma-mapping.h
+
+#include ehci.h
 
 #define rdl(off)   __raw_readl(hcd-regs + (off))
 #define wrl(off, val)  __raw_writel((val), hcd-regs + (off))
@@ -34,6 +40,12 @@
 #define USB_PHY_IVREF_CTRL 0x440
 #define USB_PHY_TST_GRP_CTRL