From 1d6fbd2e855f78c47133d4401be74b48b3be3488 Mon Sep 17 00:00:00 2001
From: John Crispin <john@openwrt.org>
Date: Mon, 20 Dec 2010 17:56:09 +0000
Subject: [PATCH] * fixes duplicate registration of dwc_otg usb core

SVN-Revision: 24738
---
 target/linux/lantiq/patches/700-dwc_otg.patch | 49 +------------------
 1 file changed, 2 insertions(+), 47 deletions(-)

diff --git a/target/linux/lantiq/patches/700-dwc_otg.patch b/target/linux/lantiq/patches/700-dwc_otg.patch
index 40c9ba9f6f..58a1a203ae 100644
--- a/target/linux/lantiq/patches/700-dwc_otg.patch
+++ b/target/linux/lantiq/patches/700-dwc_otg.patch
@@ -13245,7 +13245,7 @@
 +#endif /* DWC_DEVICE_ONLY */
 --- /dev/null
 +++ b/drivers/usb/dwc_otg/dwc_otg_ifx.c
-@@ -0,0 +1,150 @@
+@@ -0,0 +1,105 @@
 +/******************************************************************************
 +**
 +** FILE NAME    : dwc_otg_ifx.c
@@ -13341,60 +13341,15 @@
 +
 +static void release_platform_dev(struct device * dev)
 +{
-+	printk("IFX dwc_otg USB platform_dev release\n");
-+	dev->parent = NULL;
 +}
 +
-+static struct resource resources[] =
-+{
-+	[0] = {
-+		.name    = "dwc_otg_membase",
-+		.start   = IFX_USB_IOMEM_BASE,
-+		.end	   = IFX_USB_IOMEM_BASE + IFX_USB_IOMEM_SIZE - 1,
-+		.flags	 = IORESOURCE_MEM,
-+	},
-+	[1] = {
-+		.name    = "dwc_otg_irq",
-+		.start   = IFX_USB_IRQ,
-+		.flags   = IORESOURCE_IRQ,
-+	},
-+};
-+
-+static u64 dwc_dmamask = (u32)0x1fffffff;
-+
-+static struct platform_device platform_dev = {
-+	.dev = {
-+		.release       = release_platform_dev,
-+		.dma_mask      = &dwc_dmamask,
-+	},
-+	.resource		= resources,
-+	.num_resources		= ARRAY_SIZE(resources),
-+};
-+
-+extern const char dwc_driver_name[];
 +int ifx_usb_hc_init(unsigned long base_addr, int irq)
 +{
-+	if (platform_dev.dev.parent)
-+		return -EBUSY;
-+
-+	/* finish seting up the platform device */
-+	//resources[0].start = base_addr;
-+	//resources[0].end = base_addr + SZ_256K;
-+
-+	//resources[1].start = irq;
-+
-+	/* The driver core will probe for us.  We know sl811-hcd has been
-+	 * initialized already because of the link order dependency.
-+	 */
-+	platform_dev.name = dwc_driver_name;
-+	lq_enable_irq(resources[1].start);
-+
-+	return platform_device_register(&platform_dev);
++	return 0;
 +}
 +
 +void ifx_usb_hc_remove(void)
 +{
-+    platform_device_unregister(&platform_dev);
 +}
 --- /dev/null
 +++ b/drivers/usb/dwc_otg/dwc_otg_ifx.h
-- 
2.30.2