X-Git-Url: https://git.rohieb.name/openwrt.git/blobdiff_plain/0916d26393562a776aa8b1c99ddcc60e4ba12fea..3ac117e4b57ba5e49cd1a9269744a76c7a9b7032:/target/linux/ppc40x/patches/120-usb-isp116x-hcd-add-of-binding.patch diff --git a/target/linux/ppc40x/patches/120-usb-isp116x-hcd-add-of-binding.patch b/target/linux/ppc40x/patches/120-usb-isp116x-hcd-add-of-binding.patch index 6de6e9b84..6bc5a9fc4 100644 --- a/target/linux/ppc40x/patches/120-usb-isp116x-hcd-add-of-binding.patch +++ b/target/linux/ppc40x/patches/120-usb-isp116x-hcd-add-of-binding.patch @@ -1,26 +1,13 @@ --- a/drivers/usb/host/isp116x-hcd.c +++ b/drivers/usb/host/isp116x-hcd.c -@@ -1531,8 +1531,11 @@ static struct hc_driver isp116x_hc_drive - .bus_resume = isp116x_bus_resume, - }; +@@ -1535,6 +1535,7 @@ static struct hc_driver isp116x_hc_drive -+#define resource_len(r) (((r)->end - (r)->start) + 1) -+ /*----------------------------------------------------------------*/ +#ifdef CONFIG_USB_ISP116X_HCD_PLATFORM static int isp116x_remove(struct platform_device *pdev) { struct usb_hcd *hcd = platform_get_drvdata(pdev); -@@ -1556,8 +1559,6 @@ static int isp116x_remove(struct platfor - return 0; - } - --#define resource_len(r) (((r)->end - (r)->start) + 1) -- - static int __devinit isp116x_probe(struct platform_device *pdev) - { - struct usb_hcd *hcd; @@ -1708,22 +1709,253 @@ static struct platform_driver isp116x_dr }, }; @@ -88,23 +75,23 @@ + if (board == NULL) + return -ENOMEM; + -+ if (!request_mem_region(addr.start, resource_len(&addr), hcd_name)) { ++ if (!request_mem_region(addr.start, resource_size(&addr), hcd_name)) { + ret = -EBUSY; + goto err_free_board; + } + -+ addr_reg = ioremap_nocache(addr.start, resource_len(&addr)); ++ addr_reg = ioremap_nocache(addr.start, resource_size(&addr)); + if (addr_reg == NULL) { + ret = -ENOMEM; + goto err_release_addr; + } + -+ if (!request_mem_region(data.start, resource_len(&data), hcd_name)) { ++ if (!request_mem_region(data.start, resource_size(&data), hcd_name)) { + ret = -EBUSY; + goto err_unmap_addr; + } + -+ data_reg = ioremap_nocache(data.start, resource_len(&data)); ++ data_reg = ioremap_nocache(data.start, resource_size(&data)); + if (data_reg == NULL) { + ret = -ENOMEM; + goto err_release_data; @@ -166,11 +153,11 @@ + err_unmap_data: + iounmap(data_reg); + err_release_data: -+ release_mem_region(data.start, resource_len(&data)); ++ release_mem_region(data.start, resource_size(&data)); + err_unmap_addr: + iounmap(addr_reg); + err_release_addr: -+ release_mem_region(addr.start, resource_len(&addr)); ++ release_mem_region(addr.start, resource_size(&addr)); + err_free_board: + kfree(board); + return ret; @@ -195,11 +182,11 @@ + + iounmap(isp116x->data_reg); + (void) of_address_to_resource(op->node, 0, &res); -+ release_mem_region(res.start, resource_len(&res)); ++ release_mem_region(res.start, resource_size(&res)); + + iounmap(isp116x->addr_reg); + (void) of_address_to_resource(op->node, 1, &res); -+ release_mem_region(res.start, resource_len(&res)); ++ release_mem_region(res.start, resource_size(&res)); + + kfree(isp116x->board); + usb_put_hcd(hcd); @@ -279,7 +266,7 @@ module_exit(isp116x_cleanup); --- a/drivers/usb/host/Kconfig +++ b/drivers/usb/host/Kconfig -@@ -144,6 +144,24 @@ config USB_ISP116X_HCD +@@ -242,6 +242,24 @@ config USB_ISP116X_HCD To compile this driver as a module, choose M here: the module will be called isp116x-hcd.