On Thu, Dec 12, 2019 at 02:49:37PM +0200, Heikki Krogerus wrote: > On Thu, Dec 12, 2019 at 01:20:53PM +0100, Greg KH wrote: > > On Thu, Dec 12, 2019 at 01:18:05PM +0200, Heikki Krogerus wrote: > > > On Thu, Dec 12, 2019 at 05:40:40PM +0800, zhong jiang wrote: > > > > On 2019/12/12 17:28, Greg KH wrote: > > > > > On Thu, Dec 12, 2019 at 05:15:28PM +0800, zhong jiang wrote: > > > > >> On 2019/12/12 17:01, Heikki Krogerus wrote: > > > > >>> On Thu, Dec 12, 2019 at 03:34:23PM +0800, zhong jiang wrote: > > > > >>>> Fixes the following compile error: > > > > >>>> > > > > >>>> drivers/usb/typec/tcpm/fusb302.o: In function `tcpm_get_current_limit': > > > > >>>> fusb302.c:(.text+0x3ee): undefined reference to `extcon_get_state' > > > > >>>> fusb302.c:(.text+0x422): undefined reference to `extcon_get_state' > > > > >>>> fusb302.c:(.text+0x450): undefined reference to `extcon_get_state' > > > > >>>> fusb302.c:(.text+0x48c): undefined reference to `extcon_get_state' > > > > >>>> drivers/usb/typec/tcpm/fusb302.o: In function `fusb302_probe': > > > > >>>> fusb302.c:(.text+0x980): undefined reference to `extcon_get_extcon_dev' > > > > >>>> make: *** [vmlinux] Error 1 > > > > >>> There are stubs for those functions so that really should not be > > > > >>> happening. I can not reproduce that. > > > > >> It can be reproduced in next branch. you can try it in the latest next branch. > > > > > Can it be reproduced in 5.5-rc1? > > > > > > > > > commit 78adcacd4edbd6795e164bbda9a4b2b7e51666a7 > > > > Author: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> > > > > Date: Thu Dec 12 15:48:07 2019 +1100 > > > > > > > > Add linux-next specific files for 20191212 > > > > > > > > I reproduce it based on this commit. The related config is attached. > > > > > > OK, now I get what's going on. EXTCON is build as a module, but > > > FUSB302 is not. This should be explained in the commit message. > > > > > > That does not mean we have to force everybody to enable EXTCON in > > > order to use this driver. Try something like this: > > > > > > diff --git a/drivers/usb/typec/tcpm/Kconfig b/drivers/usb/typec/tcpm/Kconfig > > > index 72481bbb2af3..06e026f6325c 100644 > > > --- a/drivers/usb/typec/tcpm/Kconfig > > > +++ b/drivers/usb/typec/tcpm/Kconfig > > > @@ -31,6 +31,7 @@ endif # TYPEC_TCPCI > > > > > > config TYPEC_FUSB302 > > > tristate "Fairchild FUSB302 Type-C chip driver" > > > + depends on EXTCON=n || EXTCON=y || (EXTCON=m && m) > > > > Ugh. We need a better "pattern" for stuff like this, it's getting more > > and more frequent. > > > > And no, I don't have a better idea :( > > I think this works: > > depends on EXTCON || !EXTCON Yes, that is what I usually use for hwmon, though it dos look weird. I agree, it would be nice to have something expressing such dependencies in a better way. Guenter