Re: [PATCH 6/8] usb: dwc3: add ULPI interface support

From: Heikki Krogerus
Date: Mon Jan 26 2015 - 06:46:24 EST


On Fri, Jan 23, 2015 at 10:24:43AM -0600, Felipe Balbi wrote:
> On Fri, Jan 23, 2015 at 05:12:56PM +0200, Heikki Krogerus wrote:
> > +int dwc3_ulpi_init(struct dwc3 *dwc)
> > +{
> > + u32 reg;
> > +
> > + /* First check USB2 PHY interface type */
> > + switch (DWC3_GHWPARAMS3_HSPHY_IFC(dwc->hwparams.hwparams3)) {
> > + case DWC3_GHWPARAMS3_HSPHY_IFC_UTMI_ULPI:
> > + /* Select ULPI Interface */
> > + reg = dwc3_readl(dwc->regs, DWC3_GUSB2PHYCFG(0));
> > + reg |= DWC3_GUSB2PHYCFG_ULPI_UTMI;
> > + dwc3_writel(dwc->regs, DWC3_GUSB2PHYCFG(0), reg);
> > + /* FALLTHROUGH */
> > + case DWC3_GHWPARAMS3_HSPHY_IFC_ULPI:
> > + break;
> > + default:
> > + return 0;
> > + }
> > +
> > + /* Register the interface */
> > + dwc->ulpi = ulpi_register_interface(dwc->dev, &dwc3_ulpi);
> > + if (IS_ERR(dwc->ulpi)) {
>
> so, this will only build and link if DWC3_ULPI is enabled, in case of
> error you return early...
>
> > + dev_err(dwc->dev, "failed to register ULPI interface");
> > + return PTR_ERR(dwc->ulpi);
> > + }
> > +
> > + return 0;
> > +}
> > +
> > +void dwc3_ulpi_exit(struct dwc3 *dwc)
> > +{
> > + if (dwc->ulpi) {
>
> ... looks like this branch is unnecessary.

We can't do that, or distros that select DWC3_ULPI option can only use
dwc3 with hardware that really has ULPI PHY. So I guess we'll drop the
DWC3_ULPI option and build the dwc3 ulpi support always if ULPI bus is
enabled. OK?


Thanks,

--
heikki
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/