[PATCH v3 2/6] usb: host: ehci-st: Add EHCI support for ST STB devices

Peter Griffin peter.griffin at linaro.org
Thu Aug 7 07:13:07 PDT 2014


Hi Arnd,

Thanks for reviewing, see my comments below: -

> > +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?

Yes I can, I've done as you suggest in v4.
> 
> > +	 * 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?

This is left over from using ohci-platform as a starting point. pdata is not
set when booting via DT and gets initialized here.

As this driver depends on OF and will never run without DT I've initialised
pdata where it gets defined in V4.

I've then also removed the check further down in probe that causes some unnecessary
indentation where we get the phys / clocks.
> 
> > +	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.

I've removed in V4.

regards,

Peter.



More information about the linux-arm-kernel mailing list