Re: [balbi-usb:testing/next 32/38] drd.c:undefined reference to `usb_role_switch_get_drvdata'

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





On 9/9/20 10:58 AM, Amelie DELAUNAY wrote:


On 9/9/20 9:33 AM, Amelie DELAUNAY wrote:
Hi,

On 9/9/20 7:42 AM, Felipe Balbi wrote:

Hi,

kernel test robot <lkp@xxxxxxxxx> writes:
tree: https://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb.git testing/next
head:   3c9722514c3fb74bbe0af87c20bc6b4c47121287
commit: a0f0bc95705446b8b1476338056bf869271ba36a [32/38] usb: dwc2: override PHY input signals with usb role switch support
config: arc-randconfig-r016-20200908 (attached as .config)
compiler: arceb-elf-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
         wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
         chmod +x ~/bin/make.cross
         git checkout a0f0bc95705446b8b1476338056bf869271ba36a
         # save the attached .config to linux build tree
         COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=arc

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@xxxxxxxxx>

All errors (new ones prefixed by >>):

    arceb-elf-ld: lib/stackdepot.o: in function `filter_irq_stacks':
    stackdepot.c:(.text+0x5a): undefined reference to `__irqentry_text_start'     arceb-elf-ld: stackdepot.c:(.text+0x5a): undefined reference to `__irqentry_text_start'     arceb-elf-ld: stackdepot.c:(.text+0x62): undefined reference to `__irqentry_text_end'     arceb-elf-ld: stackdepot.c:(.text+0x62): undefined reference to `__irqentry_text_end'     arceb-elf-ld: stackdepot.c:(.text+0x6a): undefined reference to `__softirqentry_text_start'     arceb-elf-ld: stackdepot.c:(.text+0x6a): undefined reference to `__softirqentry_text_start'     arceb-elf-ld: stackdepot.c:(.text+0x72): undefined reference to `__softirqentry_text_end'     arceb-elf-ld: stackdepot.c:(.text+0x72): undefined reference to `__softirqentry_text_end'     arceb-elf-ld: drivers/usb/dwc2/drd.o: in function `dwc2_drd_role_sw_set':
drd.c:(.text+0x82): undefined reference to `usb_role_switch_get_drvdata' arceb-elf-ld: drd.c:(.text+0x82): undefined reference to `usb_role_switch_get_drvdata'
    arceb-elf-ld: drivers/usb/dwc2/drd.o: in function `dwc2_drd_init':
drd.c:(.text+0x1c0): undefined reference to `usb_role_switch_register' arceb-elf-ld: drd.c:(.text+0x1c0): undefined reference to `usb_role_switch_register'
    arceb-elf-ld: drivers/usb/dwc2/drd.o: in function `dwc2_drd_exit':
drd.c:(.text+0x2c4): undefined reference to `usb_role_switch_unregister' arceb-elf-ld: drd.c:(.text+0x2c4): undefined reference to `usb_role_switch_unregister'

Amelie? Have you seen this? Is it ARC-specific?

Never seen this before. But looking at DWC2 Kconfig and Makefile, I should have add the 'select USB_ROLE_SWITCH' as it is in DWC3 Kconfig. Because in my patch, USB_ROLE_SWITCH is selected if USB_DWC2_DUAL_ROLE, but drd.c (using USB role switch API) is compiled if CONFIG_USB_DWC2 is enabled, whatever DWC2 mode.

So, an update of DWC2 Kconfig/Makefile as DWC3 seems required.
I send a v6 or a fixup of "usb: dwc2: override PHY input signals with usb role switch support" can be done ?

ARC DWC2/USB_ROLE_SWITCH config is:
CONFIG_USB_DWC2=y
CONFIG_USB_DWC2_DUAL_ROLE=n
CONFIG_USB_DWC2_HOST=y
CONFIG_USB_DWC2_PERIPHERAL=n
CONFIG_USB_ROLE_SWITCH=m

I succeed to reproduce the issue with this configuration. I'm preparing a fix.

New series sent: https://lore.kernel.org/patchwork/project/lkml/list/?series=461852



[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux