On Fri, Nov 18, 2022 at 10:37 AM kernel test robot <lkp@xxxxxxxxx> wrote: > > tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master > head: 147307c69ba4441ee90c1f8ce8edf5df4ea60f67 > commit: 25621bcc89762fe1329ae9c9dab75bc70ef1aee0 [7544/8929] HID: Kconfig: split HID support and hid-core compilation > config: loongarch-randconfig-c023-20221118 > compiler: loongarch64-linux-gcc (GCC) 12.1.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/commit/?id=25621bcc89762fe1329ae9c9dab75bc70ef1aee0 > 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 25621bcc89762fe1329ae9c9dab75bc70ef1aee0 > # save the config file > mkdir build_dir && cp config build_dir/.config > COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=loongarch SHELL=/bin/bash > > If you fix the issue, kindly add following tag where applicable > | Reported-by: kernel test robot <lkp@xxxxxxxxx> > > All errors (new ones prefixed by >>, old ones prefixed by <<): > > >> ERROR: modpost: "input_ff_create_memless" [drivers/hid/hid-wiimote.ko] undefined! > >> ERROR: modpost: "input_ff_create_memless" [drivers/input/misc/drv260x.ko] undefined! > >> ERROR: modpost: "input_ff_create_memless" [drivers/input/misc/drv2665.ko] undefined! > >> ERROR: modpost: "input_ff_create_memless" [drivers/input/misc/gpio-vibra.ko] undefined! > >> ERROR: modpost: "input_ff_create_memless" [drivers/input/misc/pwm-vibra.ko] undefined! > >> ERROR: modpost: "input_ff_create_memless" [drivers/input/misc/regulator-haptic.ko] undefined! > >> ERROR: modpost: "input_ff_create_memless" [drivers/input/misc/sc27xx-vibra.ko] undefined! > > Kconfig warnings: (for reference only) > WARNING: unmet direct dependencies detected for INPUT_FF_MEMLESS > Depends on [m]: INPUT [=m] > Selected by [y]: > - HID_ACRUX_FF [=y] && HID_SUPPORT [=y] && HID [=y] && HID_ACRUX [=y] > - HID_EMS_FF [=y] && HID_SUPPORT [=y] && HID [=y] > - PANTHERLORD_FF [=y] && HID_SUPPORT [=y] && HID [=y] && HID_PANTHERLORD [=y] > Selected by [m]: > - INPUT_GPIO_VIBRA [=m] && INPUT [=m] && INPUT_MISC [=y] && (GPIOLIB [=y] || COMPILE_TEST [=y]) > - INPUT_REGULATOR_HAPTIC [=m] && INPUT [=m] && INPUT_MISC [=y] && REGULATOR [=y] > - INPUT_PWM_VIBRA [=m] && INPUT [=m] && INPUT_MISC [=y] && PWM [=y] > - INPUT_DRV260X_HAPTICS [=m] && INPUT_MISC [=y] && INPUT [=m] && I2C [=y] && (GPIOLIB [=y] || COMPILE_TEST [=y]) > - INPUT_DRV2665_HAPTICS [=m] && INPUT_MISC [=y] && INPUT [=m] && I2C [=y] > - INPUT_SC27XX_VIBRA [=m] && INPUT [=m] && INPUT_MISC [=y] && (MFD_SC27XX_PMIC [=n] || COMPILE_TEST [=y]) > - HID_WIIMOTE [=m] && HID_SUPPORT [=y] && HID [=y] && LEDS_CLASS [=y] > That one is a nasty one: to be able to select INPUT as a module, you need to disable *a lot* of things, like TTY and VT, and set EXPERT to y. With that, well, then the problem is that having INPUT=m and HID=y will just not work because HID is relying on the input API. That being said, the symptoms are weird: because HID drivers that are using FF_MEMLESS can be now set to 'y', INPUT_FF_MEMLESS is then forced to be set to y as well, but given that INPUT is m, everything just falls apart for the drivers that are m, not y... The simple solution is to have HID depends on INPUT, this way we can not have HID drivers as y, everything will be forced as a module. This is also required because hid-input.c is using the input API, and as such we can not have HID=y and INPUT=m. patch on its way. Cheers, Benjamin