Re: [PATCH 4/8] usb: phy: fix isp1301-omap dependency on tps65010

From: Felipe Balbi
Date: Tue May 13 2014 - 15:52:59 EST


Hi,

On Tue, May 13, 2014 at 09:48:27PM +0200, Arnd Bergmann wrote:
> On Tuesday 13 May 2014 10:26:31 Felipe Balbi wrote:
> > On Thu, May 08, 2014 at 03:52:17PM +0200, Arnd Bergmann wrote:
> > > The isp1301-omap driver cannot be built-in if the tps65010 driver
> > > is a module, otherwise we get a link error from the reference to
> > > the tps65010_set_vbus_draw function.
> > >
> > > There is already a hack in the driver to work around the problem
> > > of tps65010 being not available at all. This patch extends that
> > > hack to ensure that the real tps65010_set_vbus_draw() function
> > > is only called when it's avaiable.
> > >
> > > Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
> > > Cc: linux-omap@xxxxxxxxxxxxxxx
> > > ---
> > > drivers/usb/phy/phy-isp1301-omap.c | 2 +-
> > > 1 file changed, 1 insertion(+), 1 deletion(-)
> > >
> > > diff --git a/drivers/usb/phy/phy-isp1301-omap.c b/drivers/usb/phy/phy-isp1301-omap.c
> > > index 6e146d7..35a0dd2 100644
> > > --- a/drivers/usb/phy/phy-isp1301-omap.c
> > > +++ b/drivers/usb/phy/phy-isp1301-omap.c
> > > @@ -94,7 +94,7 @@ struct isp1301 {
> > >
> > > #if defined(CONFIG_MACH_OMAP_H2) || defined(CONFIG_MACH_OMAP_H3)
> > >
> > > -#if defined(CONFIG_TPS65010) || defined(CONFIG_TPS65010_MODULE)
> > > +#if defined(CONFIG_TPS65010) || (defined(CONFIG_TPS65010_MODULE) && defined(MODULE))
> >
> > nack, I would rather see a real fix, possibly also fixing the original
> > hack.
>
> Any suggestion how?

well, that driver shouldn't depend on a particular PMIC. It should use
regulator framework to enable and disable vbus regulator, to start with.

In fact, isp1301-omap.c shouldn't even exist. isp1301 is a generic
device and not OMAP-specific.

cheers

--
balbi

Attachment: signature.asc
Description: Digital signature