From: John Crispin Date: Mon, 20 Dec 2010 17:56:09 +0000 (+0000) Subject: * fixes duplicate registration of dwc_otg usb core X-Git-Tag: reboot~18002 X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=1d6fbd2e855f78c47133d4401be74b48b3be3488;p=openwrt%2Fstaging%2Flynxis.git * fixes duplicate registration of dwc_otg usb core SVN-Revision: 24738 --- 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