On Mon, Jan 18, 2021 at 06:52:23PM +0800, kernel test robot wrote:
> tree:
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
> head: 93bf8b946e5f9a0b0c68155597b53fd8ccce2827
> commit: 89795852c9c46b9b0701f7376d30a1c5ab4d146c [2519/4500] usb: typec: ucsi: Add
support for USB role switch
> config: nios2-randconfig-m031-20210118 (attached as .config)
> compiler: nios2-linux-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
> #
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commi...
> git remote add linux-next
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
> git fetch --no-tags linux-next master
> git checkout 89795852c9c46b9b0701f7376d30a1c5ab4d146c
> # save the attached .config to linux build tree
> COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=nios2
>
> If you fix the issue, kindly add following tag as appropriate
> Reported-by: kernel test robot <lkp(a)intel.com>
>
> All errors (new ones prefixed by >>):
>
> nios2-linux-ld: drivers/usb/typec/ucsi/ucsi.o: in function
`ucsi_register_port':
> >> ucsi.c:(.text+0x15a8): undefined reference to
`fwnode_usb_role_switch_get'
> ucsi.c:(.text+0x15a8): relocation truncated to fit: R_NIOS2_CALL26 against
`fwnode_usb_role_switch_get'
> >> nios2-linux-ld: ucsi.c:(.text+0x15e8): undefined reference to
`usb_role_switch_set_role'
> ucsi.c:(.text+0x15e8): relocation truncated to fit: R_NIOS2_CALL26 against
`usb_role_switch_set_role'
> nios2-linux-ld: drivers/usb/typec/ucsi/ucsi.o: in function
`ucsi_handle_connector_change':
> >> ucsi.c:(.text+0x1b50): undefined reference to
`usb_role_switch_set_role'
> ucsi.c:(.text+0x1b50): relocation truncated to fit: R_NIOS2_CALL26 against
`usb_role_switch_set_role'
> nios2-linux-ld: ucsi.c:(.text+0x1c28): undefined reference to
`usb_role_switch_set_role'
> ucsi.c:(.text+0x1c28): relocation truncated to fit: R_NIOS2_CALL26 against
`usb_role_switch_set_role'
>
> Kconfig warnings: (for reference only)
> WARNING: unmet direct dependencies detected for SERIAL_CORE_CONSOLE
> Depends on TTY && HAS_IOMEM
> Selected by
> - EARLY_PRINTK
>
> ---
> 0-DAY CI Kernel Test Service, Intel Corporation
>
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
I have no clue about the nios2, so not sure if this is an arch-specific
linker error or not.
Hmm but the .config has the following:
CONFIG_TYPEC_UCSI=y
CONFIG_USB_ROLE_SWITCH=m
So I'm guessing this patch also requires a Kconfig change to disallow
the above combination? If so, should UCSI have a "depends" or a
"select"
on USB_ROLE_SWITCH?
Kconfig needs to prevent the UCSI driver from being built-in when the
USB Role Switch Class is being build as module. That can be achieved
with this trick (it's not ideal, but it works):
depends on USB_ROLE_SWITCH || !USB_ROLE_SWITCH
I'll send the fix.
thanks,
--
heikki