diff options
author | John Crispin <john@openwrt.org> | 2010-12-20 17:56:09 +0000 |
---|---|---|
committer | John Crispin <john@openwrt.org> | 2010-12-20 17:56:09 +0000 |
commit | 1d6fbd2e855f78c47133d4401be74b48b3be3488 (patch) | |
tree | 9df8e2d45681dc5cbcc5d510d26794056267b291 | |
parent | 2c0596cd69dc417b0278f04577f2dd058c9dcb02 (diff) | |
download | upstream-1d6fbd2e855f78c47133d4401be74b48b3be3488.tar.gz upstream-1d6fbd2e855f78c47133d4401be74b48b3be3488.tar.bz2 upstream-1d6fbd2e855f78c47133d4401be74b48b3be3488.zip |
* fixes duplicate registration of dwc_otg usb core
SVN-Revision: 24738
-rw-r--r-- | target/linux/lantiq/patches/700-dwc_otg.patch | 49 |
1 files 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 |