[U-Boot] [RFC PATCH V2] drivers/usb: regorganisation

Jean-Christophe PLAGNIOL-VILLARD
2009-04-02T16:55:32Z

move to linux usb driver organisation

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Cc: Remy Bohmer <linux@bohmer.net>
---
Remy is this one ok for you?

I've try to respect the usb driver linux organistation at maximum

Best Regards,
J.

Makefile | 4 +-
drivers/serial/usbtty.c | 2 +-
drivers/serial/usbtty.h | 6 +-
drivers/usb/{ => gadget}/Makefile | 29 +++----------
drivers/usb/{usbdcore.c => gadget/core.c} | 2 +-
drivers/usb/{usbdcore_ep0.c => gadget/ep0.c} | 2 +-
include/usbdcore_ep0.h => drivers/usb/gadget/ep0.h | 0
.../usb/{usbdcore_mpc8xx.c => gadget/mpc8xx_udc.c} | 9 ++--
.../{usbdcore_omap1510.c => gadget/omap1510_udc.c} | 6 +-
drivers/usb/{ => host}/Makefile | 35 +++++----------
drivers/usb/{usb_ehci_core.h => host/ehci-core.h} | 0
drivers/usb/{usb_ehci_fsl.c => host/ehci-fsl.c} | 6 +-
drivers/usb/{usb_ehci_fsl.h => host/ehci-fsl.h} | 0
drivers/usb/{usb_ehci_core.c => host/ehci-hcd.c} | 3 +-
drivers/usb/{usb_ehci_ixp.c => host/ehci-ixp4xx.c} | 5 +-
drivers/usb/{usb_ehci_pci.c => host/ehci-pci.c} | 5 +-
drivers/usb/{usb_ehci_vct.c => host/ehci-vct.c} | 4 +-
drivers/usb/{usb_ehci.h => host/ehci.h} | 0
drivers/usb/{ => host}/isp116x-hcd.c | 0
drivers/usb/{ => host}/isp116x.h | 0
drivers/usb/{usb_ohci.c => host/ohci-hcd.c} | 3 +-
drivers/usb/{usb_ohci.h => host/ohci.h} | 0
drivers/usb/{ => host}/r8a66597-hcd.c | 0
drivers/usb/{ => host}/r8a66597.h | 0
drivers/usb/{s3c64xx_usb.c => host/s3c64xx-hcd.c} | 0
drivers/usb/{sl811_usb.c => host/sl811-hcd.c} | 2 +-
drivers/usb/{ => host}/sl811.h | 0
drivers/usb/musb/Makefile | 47 ++++++++++++++++++++
drivers/usb/{davinci_usb.c => musb/davinci.c} | 2 +-
drivers/usb/{davinci_usb.h => musb/davinci.h} | 0
drivers/usb/{ => musb}/musb_core.c | 0
drivers/usb/{ => musb}/musb_core.h | 0
drivers/usb/{ => musb}/musb_hcd.c | 0
drivers/usb/{ => musb}/musb_hcd.h | 0
include/{usbdcore_mpc8xx.h => usb/mpc8xx_udc.h} | 0
.../{usbdcore_omap1510.h => usb/omap1510_udc.h} | 0
include/{usbdcore.h => usbdevice.h} | 0
37 files changed, 99 insertions(+), 73 deletions(-)
copy drivers/usb/{ => gadget}/Makefile (61%)
rename drivers/usb/{usbdcore.c => gadget/core.c} (99%)
rename drivers/usb/{usbdcore_ep0.c => gadget/ep0.c} (99%)
rename include/usbdcore_ep0.h => drivers/usb/gadget/ep0.h (100%)
rename drivers/usb/{usbdcore_mpc8xx.c => gadget/mpc8xx_udc.c} (99%)
rename drivers/usb/{usbdcore_omap1510.c => gadget/omap1510_udc.c} (99%)
rename drivers/usb/{ => host}/Makefile (65%)
rename drivers/usb/{usb_ehci_core.h => host/ehci-core.h} (100%)
rename drivers/usb/{usb_ehci_fsl.c => host/ehci-fsl.c} (97%)
rename drivers/usb/{usb_ehci_fsl.h => host/ehci-fsl.h} (100%)
rename drivers/usb/{usb_ehci_core.c => host/ehci-hcd.c} (99%)
rename drivers/usb/{usb_ehci_ixp.c => host/ehci-ixp4xx.c} (96%)
rename drivers/usb/{usb_ehci_pci.c => host/ehci-pci.c} (97%)
rename drivers/usb/{usb_ehci_vct.c => host/ehci-vct.c} (96%)
rename drivers/usb/{usb_ehci.h => host/ehci.h} (100%)
rename drivers/usb/{ => host}/isp116x-hcd.c (100%)
rename drivers/usb/{ => host}/isp116x.h (100%)
rename drivers/usb/{usb_ohci.c => host/ohci-hcd.c} (99%)
rename drivers/usb/{usb_ohci.h => host/ohci.h} (100%)
rename drivers/usb/{ => host}/r8a66597-hcd.c (100%)
rename drivers/usb/{ => host}/r8a66597.h (100%)
rename drivers/usb/{s3c64xx_usb.c => host/s3c64xx-hcd.c} (100%)
rename drivers/usb/{sl811_usb.c => host/sl811-hcd.c} (99%)
rename drivers/usb/{ => host}/sl811.h (100%)
create mode 100644 drivers/usb/musb/Makefile
rename drivers/usb/{davinci_usb.c => musb/davinci.c} (99%)
rename drivers/usb/{davinci_usb.h => musb/davinci.h} (100%)
rename drivers/usb/{ => musb}/musb_core.c (100%)
rename drivers/usb/{ => musb}/musb_core.h (100%)
rename drivers/usb/{ => musb}/musb_hcd.c (100%)
rename drivers/usb/{ => musb}/musb_hcd.h (100%)
rename include/{usbdcore_mpc8xx.h => usb/mpc8xx_udc.h} (100%)
rename include/{usbdcore_omap1510.h => usb/omap1510_udc.h} (100%)
rename include/{usbdcore.h => usbdevice.h} (100%)

diff --git a/Makefile b/Makefile
index f857641..565df93 100644
--- a/Makefile
+++ b/Makefile
@@ -263,7 +263,9 @@ endif
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/musb/libusb_musb.a
+LIBS += drivers/usb/host/libusb_host.a
LIBS += drivers/video/libvideo.a
LIBS += common/libcommon.a
LIBS += libfdt/libfdt.a
diff --git a/drivers/serial/usbtty.c b/drivers/serial/usbtty.c
index d8b1387..71f0e5b 100644
--- a/drivers/serial/usbtty.c
+++ b/drivers/serial/usbtty.c
@@ -94,7 +94,7 @@ static char serial_number[16];
* Descriptors, Strings, Local variables.
*/

-/* defined and used by usbdcore_ep0.c */
+/* defined and used by 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 61%
copy from drivers/usb/Makefile
copy to drivers/usb/gadget/Makefile
index 7ddb72a..251724f 100644
--- a/drivers/usb/Makefile
+++ b/drivers/usb/gadget/Makefile
@@ -23,31 +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_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 99%
rename from drivers/usb/usbdcore_mpc8xx.c
rename to drivers/usb/gadget/mpc8xx_udc.c
index 0e311ad..8d7bd65 100644
--- a/drivers/usb/usbdcore_mpc8xx.c
+++ b/drivers/usb/gadget/mpc8xx_udc.c
@@ -3,7 +3,7 @@
* bodonoghue at CodeHermit.ie
*
* References
- * DasUBoot/drivers/usb/usbdcore_omap1510.c, for design and implementation
+ * DasUBoot/drivers/usb/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 65%
rename from drivers/usb/Makefile
rename to drivers/usb/host/Makefile
index 7ddb72a..f6c9299 100644
--- a/drivers/usb/Makefile
+++ b/drivers/usb/host/Makefile
@@ -23,32 +23,21 @@

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
+# ohci
+COBJS-$(CONFIG_USB_OHCI_NEW) += ohci-hcd.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_S3C64XX) += s3c64xx-hcd.o
+COBJS-$(CONFIG_USB_SL811HS) += sl811-hcd.o
+
+# echi
+COBJS-$(CONFIG_USB_EHCI) += ehci-hcd.o
+COBJS-$(CONFIG_USB_EHCI_FSL) += ehci-fsl.o
+COBJS-$(CONFIG_USB_EHCI_PCI) += ehci-pci.o
+COBJS-$(CONFIG_USB_EHCI_IXP4XX) += ehci-ixp.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 97%
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 97%
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 96%
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/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/musb/Makefile b/drivers/usb/musb/Makefile
new file mode 100644
index 0000000..09e0a5f
--- /dev/null
+++ b/drivers/usb/musb/Makefile
@@ -0,0 +1,47 @@
+#
+# (C) Copyright 2000-2007
+# Wolfgang Denk, DENX Software Engineering, wd at denx.de.
+#
+# See file CREDITS for list of people who contributed to this
+# project.
+#
+# 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., 59 Temple Place, Suite 330, Boston,
+# MA 02111-1307 USA
+#
+
+include $(TOPDIR)/config.mk
+
+LIB := $(obj)libusb_musb.a
+
+COBJS-$(CONFIG_MUSB_HCD) += musb_hcd.o musb_core.o
+COBJS-$(CONFIG_USB_DAVINCI) += davinci.o
+
+COBJS := $(COBJS-y)
+SRCS := $(COBJS:.o=.c)
+OBJS := $(addprefix $(obj),$(COBJS))
+
+all: $(LIB)
+
+$(LIB): $(obj).depend $(OBJS)
+ $(AR) $(ARFLAGS) $@ $(OBJS)
+
+#########################################################################
+
+# defines $(obj).depend target
+include $(SRCTREE)/rules.mk
+
+sinclude $(obj).depend
+
+#########################################################################
diff --git a/drivers/usb/davinci_usb.c b/drivers/usb/musb/davinci.c
similarity index 99%
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
--
1.6.1.3