diff options
author | Tony Prisk <linux@prisktech.co.nz> | 2012-10-13 23:22:34 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2012-10-17 16:42:29 -0400 |
commit | 09eeffb70c086692064f4224490d1cd2ffe43bdd (patch) | |
tree | 653240abe7b3166a762933e6b8cdb08d0a482f9f /drivers/usb/host/uhci-platform.c | |
parent | c5211187f7ff8e8dbff4ebf7c011ac4c0ffe319c (diff) |
usb: Missing dma_mask in uhci-platform.c when probed from device-tree
Device-tree probed devices don't get a dev.dma_mask set. This patch
sets a default 32bit mask on platforms using devicetree.
Without this patch, arch-vt8500 cannot detect uhci attached devices.
Signed-off-by: Tony Prisk <linux@prisktech.co.nz>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/usb/host/uhci-platform.c')
-rw-r--r-- | drivers/usb/host/uhci-platform.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/usb/host/uhci-platform.c b/drivers/usb/host/uhci-platform.c index e4780491df4a..68ebf20e1519 100644 --- a/drivers/usb/host/uhci-platform.c +++ b/drivers/usb/host/uhci-platform.c | |||
@@ -60,6 +60,7 @@ static const struct hc_driver uhci_platform_hc_driver = { | |||
60 | .hub_control = uhci_hub_control, | 60 | .hub_control = uhci_hub_control, |
61 | }; | 61 | }; |
62 | 62 | ||
63 | static u64 platform_uhci_dma_mask = DMA_BIT_MASK(32); | ||
63 | 64 | ||
64 | static int __devinit uhci_hcd_platform_probe(struct platform_device *pdev) | 65 | static int __devinit uhci_hcd_platform_probe(struct platform_device *pdev) |
65 | { | 66 | { |
@@ -71,6 +72,14 @@ static int __devinit uhci_hcd_platform_probe(struct platform_device *pdev) | |||
71 | if (usb_disabled()) | 72 | if (usb_disabled()) |
72 | return -ENODEV; | 73 | return -ENODEV; |
73 | 74 | ||
75 | /* | ||
76 | * Right now device-tree probed devices don't get dma_mask set. | ||
77 | * Since shared usb code relies on it, set it here for now. | ||
78 | * Once we have dma capability bindings this can go away. | ||
79 | */ | ||
80 | if (!pdev->dev.dma_mask) | ||
81 | pdev->dev.dma_mask = &platform_uhci_dma_mask; | ||
82 | |||
74 | hcd = usb_create_hcd(&uhci_platform_hc_driver, &pdev->dev, | 83 | hcd = usb_create_hcd(&uhci_platform_hc_driver, &pdev->dev, |
75 | pdev->name); | 84 | pdev->name); |
76 | if (!hcd) | 85 | if (!hcd) |