On Wednesday 06 August 2014, Peter Griffin wrote:

> +static int st_ehci_platform_reset(struct usb_hcd *hcd)
> +{
> +     struct platform_device *pdev = to_platform_device(hcd->self.controller);
> +     struct usb_ehci_pdata *pdata = dev_get_platdata(&pdev->dev);
> +     struct ehci_hcd *ehci = hcd_to_ehci(hcd);
> +     int retval;
> +
> +     if (pdata->pre_setup) {
> +             retval = pdata->pre_setup(hcd);
> +             if (retval < 0)
> +                     return retval;
> +     }

What is the point in going through a platform data function pointer here?
Can't you just open-code st_ehci_configure_bus() here?

> +static int st_ehci_platform_probe(struct platform_device *dev)
> +{
> +     struct usb_hcd *hcd;
> +     struct resource *res_mem;
> +     struct usb_ehci_pdata *pdata = dev_get_platdata(&dev->dev);
> +     struct st_platform_priv *priv;
> +     struct ehci_hcd *ehci;
> +     int err, irq, clk = 0;
> +
> +     if (usb_disabled())
> +             return -ENODEV;
> +
> +     /*
> +      * Use reasonable defaults so platforms don't have to provide these
> +      * with DT probing on ARM.
> +      */
> +     if (!pdata)
> +             pdata = &ehci_platform_defaults;

How would you ever get here with pdata set?

> +     err = dma_coerce_mask_and_coherent(&dev->dev, DMA_BIT_MASK(32));
> +     if (err)
> +             return err;

Remove this here, and rely on the correct mask to be set from the DT scan.

        Arnd
--
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

Reply via email to