Thread (4 messages) 4 messages, 2 authors, 2020-09-09

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

From: Amelie DELAUNAY <hidden>
Date: 2020-09-09 08:59:00
Also in: linux-omap, oe-kbuild-all


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

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

kernel test robot [off-list ref] writes:
quoted
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 <redacted>

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':
quoted
quoted
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':
quoted
quoted
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':
quoted
quoted
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.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help