diff options
Diffstat (limited to 'target/linux/gemini/patches-4.14/0028-usb-host-fotg2-add-device-tree-probing.patch')
-rw-r--r-- | target/linux/gemini/patches-4.14/0028-usb-host-fotg2-add-device-tree-probing.patch | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/target/linux/gemini/patches-4.14/0028-usb-host-fotg2-add-device-tree-probing.patch b/target/linux/gemini/patches-4.14/0028-usb-host-fotg2-add-device-tree-probing.patch new file mode 100644 index 0000000000..862cb64909 --- /dev/null +++ b/target/linux/gemini/patches-4.14/0028-usb-host-fotg2-add-device-tree-probing.patch @@ -0,0 +1,61 @@ +From 5662c553e89ac4179ec2a7a94a342ba3e5d78cf7 Mon Sep 17 00:00:00 2001 +From: Hans Ulli Kroll <ulli.kroll@googlemail.com> +Date: Thu, 9 Feb 2017 15:20:49 +0100 +Subject: [PATCH 28/31] usb: host: fotg2: add device tree probing + +Add device tree probing to the fotg2 driver. + +Signed-off-by: Hans Ulli Kroll <ulli.kroll@googlemail.com> +Signed-off-by: Linus Walleij <linus.walleij@linaro.org> +--- +ChangeLog v2->v3: +- Change compatible to "faraday,fotg210" simply. +--- + drivers/usb/host/fotg210-hcd.c | 19 +++++++++++++++++++ + 1 file changed, 19 insertions(+) + +--- a/drivers/usb/host/fotg210-hcd.c ++++ b/drivers/usb/host/fotg210-hcd.c +@@ -23,6 +23,7 @@ + * Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ + #include <linux/module.h> ++#include <linux/of.h> + #include <linux/device.h> + #include <linux/dmapool.h> + #include <linux/kernel.h> +@@ -5600,6 +5601,15 @@ static int fotg210_hcd_probe(struct plat + if (usb_disabled()) + return -ENODEV; + ++ /* Right now device-tree probed devices don't get dma_mask set. ++ * Since shared usb code relies on it, set it here for now. ++ * Once we have dma capability bindings this can go away. ++ */ ++ ++ retval = dma_coerce_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(32)); ++ if (retval) ++ goto fail_create_hcd; ++ + pdev->dev.power.power_state = PMSG_ON; + + res = platform_get_resource(pdev, IORESOURCE_IRQ, 0); +@@ -5676,9 +5686,18 @@ static int fotg210_hcd_remove(struct pla + return 0; + } + ++#ifdef CONFIG_OF ++static const struct of_device_id fotg210_of_match[] = { ++ { .compatible = "faraday,fotg210" }, ++ {}, ++}; ++MODULE_DEVICE_TABLE(of, fotg210_of_match); ++#endif ++ + static struct platform_driver fotg210_hcd_driver = { + .driver = { + .name = "fotg210-hcd", ++ .of_match_table = of_match_ptr(fotg210_of_match), + }, + .probe = fotg210_hcd_probe, + .remove = fotg210_hcd_remove, |