On Sun, 7 Oct 2012, Tony Prisk wrote: > 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 <li...@prisktech.co.nz>
This patch has a small problem... > --- 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 = { > .hub_control = uhci_hub_control, > }; > > +static u64 platform_uhci_dma_mask = DMA_BIT_MASK(32); > > static int __devinit uhci_hcd_platform_probe(struct platform_device *pdev) > { > @@ -71,6 +72,14 @@ static int __devinit uhci_hcd_platform_probe(struct > platform_device *pdev) > 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. > + */ > + if (!pdev->dev.dma_mask) > + pdev->dev.dma_mask = &platform_uhci_dma_mask; > + > hcd = usb_create_hcd(&uhci_platform_hc_driver, &pdev->dev, > pdev->name); > if (!hcd) > @@ -82,7 +91,7 @@ static int __devinit uhci_hcd_platform_probe(struct > platform_device *pdev) > > if (!request_mem_region(hcd->rsrc_start, hcd->rsrc_len, hcd_name)) { > pr_err("%s: request_mem_region failed\n", __func__); > - ret = -EBUSY; > + ret = -EBUSY;static u64 platform_uhci_dma_mask = > DMA_BIT_MASK(32); What happened here? Did you try compiling this patch? Alan Stern -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html