drivers/usb: regorganisation

move to linux usb driver organisation

as following

drivers/usb/gadget
drivers/usb/host
drivers/usb/musb

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Remy Bohmer <linux@bohmer.net>
diff --git a/Makefile b/Makefile
index 49b83c0..e91c051 100644
--- a/Makefile
+++ b/Makefile
@@ -263,7 +263,9 @@
 LIBS += drivers/rtc/librtc.a
 LIBS += drivers/serial/libserial.a
 LIBS += drivers/twserial/libtws.a
-LIBS += drivers/usb/libusb.a
+LIBS += drivers/usb/gadget/libusb_gadget.a
+LIBS += drivers/usb/host/libusb_host.a
+LIBS += drivers/usb/musb/libusb_musb.a
 LIBS += drivers/video/libvideo.a
 LIBS += drivers/watchdog/libwatchdog.a
 LIBS += common/libcommon.a
diff --git a/drivers/serial/usbtty.c b/drivers/serial/usbtty.c
index d8b1387..f711d0b 100644
--- a/drivers/serial/usbtty.c
+++ b/drivers/serial/usbtty.c
@@ -94,7 +94,7 @@
  * Descriptors, Strings, Local variables.
  */
 
-/* defined and used by usbdcore_ep0.c */
+/* defined and used by gadget/ep0.c */
 extern struct usb_string_descriptor **usb_strings;
 
 /* Indicies, References */
diff --git a/drivers/serial/usbtty.h b/drivers/serial/usbtty.h
index ecefde5..77db972 100644
--- a/drivers/serial/usbtty.h
+++ b/drivers/serial/usbtty.h
@@ -24,11 +24,11 @@
 #ifndef __USB_TTY_H__
 #define __USB_TTY_H__
 
-#include <usbdcore.h>
+#include <usbdevice.h>
 #if defined(CONFIG_PPC)
-#include <usbdcore_mpc8xx.h>
+#include <usb/mpc8xx_udc.h>
 #elif defined(CONFIG_ARM)
-#include <usbdcore_omap1510.h>
+#include <usb/omap1510_udc.h>
 #endif
 
 #include <version_autogenerated.h>
diff --git a/drivers/usb/Makefile b/drivers/usb/gadget/Makefile
similarity index 60%
copy from drivers/usb/Makefile
copy to drivers/usb/gadget/Makefile
index 5523cbd..251724f 100644
--- a/drivers/usb/Makefile
+++ b/drivers/usb/gadget/Makefile
@@ -23,32 +23,14 @@
 
 include $(TOPDIR)/config.mk
 
-LIB	:= $(obj)libusb.a
+LIB	:= $(obj)libusb_gadget.a
 
-# core
-COBJS-y += usbdcore.o
-COBJS-$(CONFIG_USB_OHCI_NEW) += usb_ohci.o
-COBJS-$(CONFIG_USB_EHCI) += usb_ehci_core.o
-
-# host
-COBJS-$(CONFIG_USB_ATMEL) += atmel_usb.o
-COBJS-$(CONFIG_USB_ISP116X_HCD) += isp116x-hcd.o
-COBJS-$(CONFIG_USB_R8A66597_HCD) += r8a66597-hcd.o
-COBJS-$(CONFIG_USB_S3C64XX) += s3c64xx_usb.o
-COBJS-$(CONFIG_USB_SL811HS) += sl811_usb.o
-COBJS-$(CONFIG_USB_EHCI_FSL) += usb_ehci_fsl.o
-COBJS-$(CONFIG_USB_EHCI_PCI) += usb_ehci_pci.o
-COBJS-$(CONFIG_USB_EHCI_IXP4XX) += usb_ehci_ixp.o
-COBJS-$(CONFIG_MUSB_HCD) += musb_hcd.o musb_core.o
-COBJS-$(CONFIG_USB_DAVINCI) += davinci_usb.o
-COBJS-$(CONFIG_USB_EHCI_VCT) += usb_ehci_vct.o
-
-# device
 ifdef CONFIG_USB_DEVICE
-COBJS-y += usbdcore_ep0.o
-COBJS-$(CONFIG_OMAP1510) += usbdcore_omap1510.o
-COBJS-$(CONFIG_OMAP1610) += usbdcore_omap1510.o
-COBJS-$(CONFIG_MPC885_FAMILY) += usbdcore_mpc8xx.o
+COBJS-y += core.o
+COBJS-y += ep0.o
+COBJS-$(CONFIG_OMAP1510) += omap1510_udc.o
+COBJS-$(CONFIG_OMAP1610) += omap1510_udc.o
+COBJS-$(CONFIG_MPC885_FAMILY) += mpc8xx_udc.o
 endif
 
 COBJS	:= $(COBJS-y)
diff --git a/drivers/usb/usbdcore.c b/drivers/usb/gadget/core.c
similarity index 99%
rename from drivers/usb/usbdcore.c
rename to drivers/usb/gadget/core.c
index 53ed669..67b6681 100644
--- a/drivers/usb/usbdcore.c
+++ b/drivers/usb/gadget/core.c
@@ -30,7 +30,7 @@
  */
 
 #include <malloc.h>
-#include "usbdcore.h"
+#include <usbdevice.h>
 
 #define MAX_INTERFACES 2
 
diff --git a/drivers/usb/usbdcore_ep0.c b/drivers/usb/gadget/ep0.c
similarity index 99%
rename from drivers/usb/usbdcore_ep0.c
rename to drivers/usb/gadget/ep0.c
index f6e017d..2b4ec44 100644
--- a/drivers/usb/usbdcore_ep0.c
+++ b/drivers/usb/gadget/ep0.c
@@ -51,7 +51,7 @@
  */
 
 #include <common.h>
-#include "usbdcore.h"
+#include <usbdevice.h>
 
 #if 0
 #define dbg_ep0(lvl,fmt,args...) serial_printf("[%s] %s:%d: "fmt"\n",__FILE__,__FUNCTION__,__LINE__,##args)
diff --git a/include/usbdcore_ep0.h b/drivers/usb/gadget/ep0.h
similarity index 100%
rename from include/usbdcore_ep0.h
rename to drivers/usb/gadget/ep0.h
diff --git a/drivers/usb/usbdcore_mpc8xx.c b/drivers/usb/gadget/mpc8xx_udc.c
similarity index 98%
rename from drivers/usb/usbdcore_mpc8xx.c
rename to drivers/usb/gadget/mpc8xx_udc.c
index 0e311ad..da3fbba 100644
--- a/drivers/usb/usbdcore_mpc8xx.c
+++ b/drivers/usb/gadget/mpc8xx_udc.c
@@ -3,7 +3,7 @@
  * bodonoghue@CodeHermit.ie
  *
  * References
- * DasUBoot/drivers/usb/usbdcore_omap1510.c, for design and implementation
+ * DasUBoot/drivers/usb/gadget/omap1510_udc.c, for design and implementation
  * ideas.
  *
  * This program is free software; you can redistribute it and/or modify
@@ -59,9 +59,10 @@
 #include <common.h>
 #include <config.h>
 #include <commproc.h>
-#include "usbdcore.h"
-#include "usbdcore_mpc8xx.h"
-#include "usbdcore_ep0.h"
+#include <usbdevice.h>
+#include <usb/mpc8xx_udc.h>
+
+#include "ep0.h"
 
 DECLARE_GLOBAL_DATA_PTR;
 
diff --git a/drivers/usb/usbdcore_omap1510.c b/drivers/usb/gadget/omap1510_udc.c
similarity index 99%
rename from drivers/usb/usbdcore_omap1510.c
rename to drivers/usb/gadget/omap1510_udc.c
index 6b7b61b..90f7907 100644
--- a/drivers/usb/usbdcore_omap1510.c
+++ b/drivers/usb/gadget/omap1510_udc.c
@@ -31,10 +31,10 @@
 #ifdef CONFIG_OMAP_SX1
 #include <i2c.h>
 #endif
+#include <usbdevice.h>
+#include <usb/omap1510_udc.h>
 
-#include "usbdcore.h"
-#include "usbdcore_omap1510.h"
-#include "usbdcore_ep0.h"
+#include "ep0.h"
 
 
 #define UDC_INIT_MDELAY		     80 /* Device settle delay */
diff --git a/drivers/usb/Makefile b/drivers/usb/host/Makefile
similarity index 64%
rename from drivers/usb/Makefile
rename to drivers/usb/host/Makefile
index 5523cbd..ec1d689 100644
--- a/drivers/usb/Makefile
+++ b/drivers/usb/host/Makefile
@@ -23,33 +23,22 @@
 
 include $(TOPDIR)/config.mk
 
-LIB	:= $(obj)libusb.a
+LIB	:= $(obj)libusb_host.a
 
-# core
-COBJS-y += usbdcore.o
-COBJS-$(CONFIG_USB_OHCI_NEW) += usb_ohci.o
-COBJS-$(CONFIG_USB_EHCI) += usb_ehci_core.o
-
-# host
-COBJS-$(CONFIG_USB_ATMEL) += atmel_usb.o
+# ohci
+COBJS-$(CONFIG_USB_OHCI_NEW) += ohci-hcd.o
+COBJS-$(CONFIG_USB_ATMEL) += ohci-at91.o
 COBJS-$(CONFIG_USB_ISP116X_HCD) += isp116x-hcd.o
 COBJS-$(CONFIG_USB_R8A66597_HCD) += r8a66597-hcd.o
-COBJS-$(CONFIG_USB_S3C64XX) += s3c64xx_usb.o
-COBJS-$(CONFIG_USB_SL811HS) += sl811_usb.o
-COBJS-$(CONFIG_USB_EHCI_FSL) += usb_ehci_fsl.o
-COBJS-$(CONFIG_USB_EHCI_PCI) += usb_ehci_pci.o
-COBJS-$(CONFIG_USB_EHCI_IXP4XX) += usb_ehci_ixp.o
-COBJS-$(CONFIG_MUSB_HCD) += musb_hcd.o musb_core.o
-COBJS-$(CONFIG_USB_DAVINCI) += davinci_usb.o
-COBJS-$(CONFIG_USB_EHCI_VCT) += usb_ehci_vct.o
+COBJS-$(CONFIG_USB_S3C64XX) += s3c64xx-hcd.o
+COBJS-$(CONFIG_USB_SL811HS) += sl811-hcd.o
 
-# device
-ifdef CONFIG_USB_DEVICE
-COBJS-y += usbdcore_ep0.o
-COBJS-$(CONFIG_OMAP1510) += usbdcore_omap1510.o
-COBJS-$(CONFIG_OMAP1610) += usbdcore_omap1510.o
-COBJS-$(CONFIG_MPC885_FAMILY) += usbdcore_mpc8xx.o
-endif
+# echi
+COBJS-$(CONFIG_USB_EHCI) += ehci-hcd.o
+COBJS-$(CONFIG_USB_EHCI_FSL) += ehci-fsl.o
+COBJS-$(CONFIG_USB_EHCI_IXP4XX) += ehci-ixp.o
+COBJS-$(CONFIG_USB_EHCI_PCI) += ehci-pci.o
+COBJS-$(CONFIG_USB_EHCI_VCT) += ehci-vct.o
 
 COBJS	:= $(COBJS-y)
 SRCS	:= $(COBJS:.o=.c)
diff --git a/drivers/usb/usb_ehci_core.h b/drivers/usb/host/ehci-core.h
similarity index 100%
rename from drivers/usb/usb_ehci_core.h
rename to drivers/usb/host/ehci-core.h
diff --git a/drivers/usb/usb_ehci_fsl.c b/drivers/usb/host/ehci-fsl.c
similarity index 96%
rename from drivers/usb/usb_ehci_fsl.c
rename to drivers/usb/host/ehci-fsl.c
index 81d5d21..86ee1d5 100644
--- a/drivers/usb/usb_ehci_fsl.c
+++ b/drivers/usb/host/ehci-fsl.c
@@ -26,9 +26,9 @@
 #include <asm/io.h>
 #include <asm/bitops.h>
 
-#include "usb_ehci.h"
-#include "usb_ehci_fsl.h"
-#include "usb_ehci_core.h"
+#include "ehci.h"
+#include "ehci-fsl.h"
+#include "ehci-core.h"
 
 /*
  * Create the appropriate control structures to manage
diff --git a/drivers/usb/usb_ehci_fsl.h b/drivers/usb/host/ehci-fsl.h
similarity index 100%
rename from drivers/usb/usb_ehci_fsl.h
rename to drivers/usb/host/ehci-fsl.h
diff --git a/drivers/usb/usb_ehci_core.c b/drivers/usb/host/ehci-hcd.c
similarity index 99%
rename from drivers/usb/usb_ehci_core.c
rename to drivers/usb/host/ehci-hcd.c
index 4dbfb66..bbd547b 100644
--- a/drivers/usb/usb_ehci_core.c
+++ b/drivers/usb/host/ehci-hcd.c
@@ -25,7 +25,8 @@
 #include <usb.h>
 #include <asm/io.h>
 #include <malloc.h>
-#include "usb_ehci.h"
+
+#include "ehci.h"
 
 int rootdev;
 struct ehci_hccr *hccr;	/* R/O registers, not need for volatile */
diff --git a/drivers/usb/usb_ehci_ixp.c b/drivers/usb/host/ehci-ixp4xx.c
similarity index 96%
rename from drivers/usb/usb_ehci_ixp.c
rename to drivers/usb/host/ehci-ixp4xx.c
index 25c18c1..b8f15ae 100644
--- a/drivers/usb/usb_ehci_ixp.c
+++ b/drivers/usb/host/ehci-ixp4xx.c
@@ -21,8 +21,9 @@
  */
 #include <common.h>
 #include <usb.h>
-#include "usb_ehci.h"
-#include "usb_ehci_core.h"
+
+#include "ehci.h"
+#include "ehci-core.h"
 /*
  * Create the appropriate control structures to manage
  * a new EHCI host controller.
diff --git a/drivers/usb/usb_ehci_pci.c b/drivers/usb/host/ehci-pci.c
similarity index 96%
rename from drivers/usb/usb_ehci_pci.c
rename to drivers/usb/host/ehci-pci.c
index 3e7143c..441b1a2 100644
--- a/drivers/usb/usb_ehci_pci.c
+++ b/drivers/usb/host/ehci-pci.c
@@ -21,8 +21,9 @@
 #include <common.h>
 #include <pci.h>
 #include <usb.h>
-#include "usb_ehci.h"
-#include "usb_ehci_core.h"
+
+#include "ehci.h"
+#include "ehci-core.h"
 
 #ifdef CONFIG_PCI_EHCI_DEVICE
 static struct pci_device_id ehci_pci_ids[] = {
diff --git a/drivers/usb/usb_ehci_vct.c b/drivers/usb/host/ehci-vct.c
similarity index 95%
rename from drivers/usb/usb_ehci_vct.c
rename to drivers/usb/host/ehci-vct.c
index 89daaaf..3063dd1 100644
--- a/drivers/usb/usb_ehci_vct.c
+++ b/drivers/usb/host/ehci-vct.c
@@ -20,8 +20,8 @@
 #include <common.h>
 #include <usb.h>
 
-#include "usb_ehci.h"
-#include "usb_ehci_core.h"
+#include "ehci.h"
+#include "ehci-core.h"
 
 int vct_ehci_hcd_init(u32 *hccr, u32 *hcor);
 
diff --git a/drivers/usb/usb_ehci.h b/drivers/usb/host/ehci.h
similarity index 100%
rename from drivers/usb/usb_ehci.h
rename to drivers/usb/host/ehci.h
diff --git a/drivers/usb/isp116x-hcd.c b/drivers/usb/host/isp116x-hcd.c
similarity index 100%
rename from drivers/usb/isp116x-hcd.c
rename to drivers/usb/host/isp116x-hcd.c
diff --git a/drivers/usb/isp116x.h b/drivers/usb/host/isp116x.h
similarity index 100%
rename from drivers/usb/isp116x.h
rename to drivers/usb/host/isp116x.h
diff --git a/drivers/usb/atmel_usb.c b/drivers/usb/host/ohci-at91.c
similarity index 100%
rename from drivers/usb/atmel_usb.c
rename to drivers/usb/host/ohci-at91.c
diff --git a/drivers/usb/usb_ohci.c b/drivers/usb/host/ohci-hcd.c
similarity index 99%
rename from drivers/usb/usb_ohci.c
rename to drivers/usb/host/ohci-hcd.c
index 0bbee0f..e2f289e 100644
--- a/drivers/usb/usb_ohci.c
+++ b/drivers/usb/host/ohci-hcd.c
@@ -57,7 +57,8 @@
 
 #include <malloc.h>
 #include <usb.h>
-#include "usb_ohci.h"
+
+#include "ohci.h"
 
 #ifdef CONFIG_AT91RM9200
 #include <asm/arch/hardware.h>	/* needed for AT91_USB_HOST_BASE */
diff --git a/drivers/usb/usb_ohci.h b/drivers/usb/host/ohci.h
similarity index 100%
rename from drivers/usb/usb_ohci.h
rename to drivers/usb/host/ohci.h
diff --git a/drivers/usb/r8a66597-hcd.c b/drivers/usb/host/r8a66597-hcd.c
similarity index 100%
rename from drivers/usb/r8a66597-hcd.c
rename to drivers/usb/host/r8a66597-hcd.c
diff --git a/drivers/usb/r8a66597.h b/drivers/usb/host/r8a66597.h
similarity index 100%
rename from drivers/usb/r8a66597.h
rename to drivers/usb/host/r8a66597.h
diff --git a/drivers/usb/s3c64xx_usb.c b/drivers/usb/host/s3c64xx-hcd.c
similarity index 100%
rename from drivers/usb/s3c64xx_usb.c
rename to drivers/usb/host/s3c64xx-hcd.c
diff --git a/drivers/usb/sl811_usb.c b/drivers/usb/host/sl811-hcd.c
similarity index 99%
rename from drivers/usb/sl811_usb.c
rename to drivers/usb/host/sl811-hcd.c
index a03e469..82a8b36 100644
--- a/drivers/usb/sl811_usb.c
+++ b/drivers/usb/host/sl811-hcd.c
@@ -40,7 +40,7 @@
 #include <usb.h>
 #include "sl811.h"
 
-#include "../../board/kup/common/kup.h"
+#include "../../../board/kup/common/kup.h"
 
 #ifdef __PPC__
 # define EIEIO		__asm__ volatile ("eieio")
diff --git a/drivers/usb/sl811.h b/drivers/usb/host/sl811.h
similarity index 100%
rename from drivers/usb/sl811.h
rename to drivers/usb/host/sl811.h
diff --git a/drivers/usb/Makefile b/drivers/usb/musb/Makefile
similarity index 61%
copy from drivers/usb/Makefile
copy to drivers/usb/musb/Makefile
index 5523cbd..09e0a5f 100644
--- a/drivers/usb/Makefile
+++ b/drivers/usb/musb/Makefile
@@ -23,33 +23,10 @@
 
 include $(TOPDIR)/config.mk
 
-LIB	:= $(obj)libusb.a
+LIB	:= $(obj)libusb_musb.a
 
-# core
-COBJS-y += usbdcore.o
-COBJS-$(CONFIG_USB_OHCI_NEW) += usb_ohci.o
-COBJS-$(CONFIG_USB_EHCI) += usb_ehci_core.o
-
-# host
-COBJS-$(CONFIG_USB_ATMEL) += atmel_usb.o
-COBJS-$(CONFIG_USB_ISP116X_HCD) += isp116x-hcd.o
-COBJS-$(CONFIG_USB_R8A66597_HCD) += r8a66597-hcd.o
-COBJS-$(CONFIG_USB_S3C64XX) += s3c64xx_usb.o
-COBJS-$(CONFIG_USB_SL811HS) += sl811_usb.o
-COBJS-$(CONFIG_USB_EHCI_FSL) += usb_ehci_fsl.o
-COBJS-$(CONFIG_USB_EHCI_PCI) += usb_ehci_pci.o
-COBJS-$(CONFIG_USB_EHCI_IXP4XX) += usb_ehci_ixp.o
 COBJS-$(CONFIG_MUSB_HCD) += musb_hcd.o musb_core.o
-COBJS-$(CONFIG_USB_DAVINCI) += davinci_usb.o
-COBJS-$(CONFIG_USB_EHCI_VCT) += usb_ehci_vct.o
-
-# device
-ifdef CONFIG_USB_DEVICE
-COBJS-y += usbdcore_ep0.o
-COBJS-$(CONFIG_OMAP1510) += usbdcore_omap1510.o
-COBJS-$(CONFIG_OMAP1610) += usbdcore_omap1510.o
-COBJS-$(CONFIG_MPC885_FAMILY) += usbdcore_mpc8xx.o
-endif
+COBJS-$(CONFIG_USB_DAVINCI) += davinci.o
 
 COBJS	:= $(COBJS-y)
 SRCS	:= $(COBJS:.o=.c)
diff --git a/drivers/usb/davinci_usb.c b/drivers/usb/musb/davinci.c
similarity index 98%
rename from drivers/usb/davinci_usb.c
rename to drivers/usb/musb/davinci.c
index e66f660..a7648fc 100644
--- a/drivers/usb/davinci_usb.c
+++ b/drivers/usb/musb/davinci.c
@@ -23,7 +23,7 @@
 
 #include <common.h>
 #include <asm/io.h>
-#include "davinci_usb.h"
+#include "davinci.h"
 
 /* MUSB platform configuration */
 struct musb_config musb_cfg = {
diff --git a/drivers/usb/davinci_usb.h b/drivers/usb/musb/davinci.h
similarity index 100%
rename from drivers/usb/davinci_usb.h
rename to drivers/usb/musb/davinci.h
diff --git a/drivers/usb/musb_core.c b/drivers/usb/musb/musb_core.c
similarity index 100%
rename from drivers/usb/musb_core.c
rename to drivers/usb/musb/musb_core.c
diff --git a/drivers/usb/musb_core.h b/drivers/usb/musb/musb_core.h
similarity index 100%
rename from drivers/usb/musb_core.h
rename to drivers/usb/musb/musb_core.h
diff --git a/drivers/usb/musb_hcd.c b/drivers/usb/musb/musb_hcd.c
similarity index 100%
rename from drivers/usb/musb_hcd.c
rename to drivers/usb/musb/musb_hcd.c
diff --git a/drivers/usb/musb_hcd.h b/drivers/usb/musb/musb_hcd.h
similarity index 100%
rename from drivers/usb/musb_hcd.h
rename to drivers/usb/musb/musb_hcd.h
diff --git a/include/usbdcore_mpc8xx.h b/include/usb/mpc8xx_udc.h
similarity index 100%
rename from include/usbdcore_mpc8xx.h
rename to include/usb/mpc8xx_udc.h
diff --git a/include/usbdcore_omap1510.h b/include/usb/omap1510_udc.h
similarity index 100%
rename from include/usbdcore_omap1510.h
rename to include/usb/omap1510_udc.h
diff --git a/include/usbdcore.h b/include/usbdevice.h
similarity index 100%
rename from include/usbdcore.h
rename to include/usbdevice.h