diff options
author | blogic <blogic@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2010-12-20 17:56:09 +0000 |
---|---|---|
committer | blogic <blogic@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2010-12-20 17:56:09 +0000 |
commit | 9236d3bed9d851bc450e3faf12b2681283aedcdd (patch) | |
tree | 144b2890c87f7c0a1925ad431ad5c53218e56c5e /target/linux/lantiq | |
parent | 898076f4792569cbf36ea2f5839180421cd8c85d (diff) |
[lantiq]
* fixes duplicate registration of dwc_otg usb core
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@24738 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/lantiq')
-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 40c9ba9f6..58a1a203a 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 |