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/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/drivers/usb/gadget/ep0.h b/drivers/usb/gadget/ep0.h
new file mode 100644
index 0000000..3bec106
--- /dev/null
+++ b/drivers/usb/gadget/ep0.h
@@ -0,0 +1,39 @@
+/*
+ * (C) Copyright 2003
+ * Gerry Hamel, geh@ti.com, Texas Instruments
+ *
+ * Based on
+ * linux/drivers/usbd/ep0.c
+ *
+ * Copyright (c) 2000, 2001, 2002 Lineo
+ * Copyright (c) 2001 Hewlett Packard
+ *
+ * By:
+ * Stuart Lynne <sl@lineo.com>,
+ * Tom Rushworth <tbr@lineo.com>,
+ * Bruce Balden <balden@lineo.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ */
+
+#ifndef __USBDCORE_EP0_H__
+#define __USBDCORE_EP0_H__
+
+
+int ep0_recv_setup (struct urb *urb);
+
+
+#endif
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