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 :( thanks, greg k-h