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:   Tue, 19 Apr 2022 08:51:25 +0000
From:   Jun Li <jun.li@....com>
To:     Krzysztof Kozlowski <krzysztof.kozlowski@...aro.org>
CC:     "myungjoo.ham@...sung.com" <myungjoo.ham@...sung.com>,
        "cw00.choi@...sung.com" <cw00.choi@...sung.com>,
        "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
        Frank Li <frank.li@....com>, Xu Yang <xu.yang_2@....com>
Subject: RE: [PATCH] extcon: ptn5150: add usb role class support



> -----Original Message-----
> From: Krzysztof Kozlowski <krzysztof.kozlowski@...aro.org>
> Sent: Tuesday, April 19, 2022 4:30 PM
> To: Jun Li <jun.li@....com>
> Cc: myungjoo.ham@...sung.com; cw00.choi@...sung.com;
> linux-kernel@...r.kernel.org; Frank Li <frank.li@....com>; Xu Yang
> <xu.yang_2@....com>
> Subject: Re: [PATCH] extcon: ptn5150: add usb role class support
> 
> On 19/04/2022 10:23, Jun Li wrote:
> >
> >
> >> -----Original Message-----
> >> From: Krzysztof Kozlowski <krzysztof.kozlowski@...aro.org>
> >> Sent: Tuesday, April 19, 2022 3:57 PM
> >> To: Jun Li <jun.li@....com>
> >> Cc: myungjoo.ham@...sung.com; cw00.choi@...sung.com;
> >> linux-kernel@...r.kernel.org; Frank Li <frank.li@....com>; Xu Yang
> >> <xu.yang_2@....com>
> >> Subject: Re: [PATCH] extcon: ptn5150: add usb role class support
> >>
> >> On Tue, 19 Apr 2022 at 09:53, Jun Li <jun.li@....com> wrote:
> >>>>>> @@ -132,6 +132,7 @@ config EXTCON_PTN5150
> >>>>>>   tristate "NXP PTN5150 CC LOGIC USB EXTCON support"
> >>>>>>   depends on I2C && (GPIOLIB || COMPILE_TEST)
> >>>>>>   select REGMAP_I2C
> >>>>>> + select USB_ROLE_SWITCH
> >>>>>
> >>>>> You do not need to select it. Driver will work without role
> >>>>> switch, won't it? If it works, then probably it should be just imply.
> >>>>
> >>>> Okay, usb role class provider should enable this for me, will drop it.
> >>>
> >>> A second check on this and I think I still need this, there maybe
> >>> some usb controller driver without usb role switch
> >>> + ptn5150 via extcon, so no need USB_ROLE_SWITCH, I need
> >>> select it to avoid build break.
> >>
> >> What build problem exactly? Aren't there stubs for !USB_ROLE_SWITCH case?
> >
> > Mostly cases USB_ROLE_SWITCH is enabled, but I cannot 100% ensure
> > that, at least I can via make menuconfig change by removing some
> > controllers drivers to create a config to generate a build break:
> >
> >
> /opt/fsl-imx-internal-xwayland/5.15-honister/sysroots/x86_64-pokysdk-li
> nux/usr/bin/aarch64-poky-linux/aarch64-poky-linux-ld:
> drivers/extcon/extcon-ptn5150.o: in function `ptn5150_work_sync_and_put':
> > extcon-ptn5150.c:(.text+0x20): undefined reference to
> `usb_role_switch_put'
> 
> This is some old kernel - v5.15. Please test your changes on mainline. I
> don't see such issue can happen on a recent kernel - there is an EXPORT and
> a stub. Maybe your driver misses proper headers?

I am working on Linux-next 20220414

commit 40354149f4d738dc3492d9998e45b3f02950369a (tag: next-20220414, origin/master, origin/HEAD)
Author: Stephen Rothwell <sfr@...b.auug.org.au>
Date:   Thu Apr 14 15:22:31 2022 +1000

    Add linux-next specific files for 20220414
    
    Signed-off-by: Stephen Rothwell <sfr@...b.auug.org.au>

My test config is making USB_ROLE_SWITCH=m, but PTN5150=y

So with below header file: 

#if IS_ENABLED(CONFIG_USB_ROLE_SWITCH)
void usb_role_switch_put(struct usb_role_switch *sw);
#else
static inline void usb_role_switch_put(struct usb_role_switch *sw) { }
#endif

Will have link error.

Thanks
Li Jun
> 
> Best regards,
> Krzysztof

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ