lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Thu, 12 Dec 2019 13:18:05 +0200
From:   Heikki Krogerus <heikki.krogerus@...ux.intel.com>
To:     zhong jiang <zhongjiang@...wei.com>
Cc:     Greg KH <gregkh@...uxfoundation.org>, linux@...ck-us.net,
        linux-usb@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] usb: typec: fusb302: Fix an undefined reference to
 'extcon_get_state'

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@...b.auug.org.au>
> 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)
        depends on I2C
        help
          The Fairchild FUSB302 Type-C chip driver that works with


It looks a bit silly, but I don't know of any other way (maybe
somebody else does?).

thanks,

-- 
heikki

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ