On Sat, Sep 28, 2024 at 06:56:32PM +0530, Radhey Shyam Pandey wrote: > Introduce new kernel config symbol for Microchip usb5744 SMBus programming > support. Since usb5744 i2c initialization routine uses i2c SMBus APIs these > APIs should only be invoked when kernel has I2C support. This new kernel > config describes the dependency on I2C kernel support and fix the below > build issues when USB_ONBOARD_DEV=y and CONFIG_I2C=m. > > riscv64-linux-ld: drivers/usb/misc/onboard_usb_dev.o: > undefined reference to `i2c_find_device_by_fwnode' > drivers/usb/misc/onboard_usb_dev.c:408:(.text+0xb24): undefined > reference to `i2c_smbus_write_block_data' > <snip> > > Parsing of the i2c-bus bus handle is not put under usb5744 kernel config > check as the intention is to report an error when DT is configured for > usb5744 SMBus support and kernel has USB_ONBOARD_DEV_USB5744 disabled. > > Fixes: 6782311d04df ("usb: misc: onboard_usb_dev: add Microchip usb5744 SMBus programming support") > Signed-off-by: Radhey Shyam Pandey <radhey.shyam.pandey@xxxxxxx> > Suggested-by: Matthias Kaehlcke <matthias@xxxxxxxxxxxx> > Reported-by: kernel test robot <lkp@xxxxxxxxx> > Closes: https://lore.kernel.org/oe-kbuild-all/202409140539.3Axwv38m-lkp@xxxxxxxxx/ > Acked-by: Matthias Kaehlcke <matthias@xxxxxxxxxxxx> > --- > Changes for v2: > - As suggested by Greg drop default 'y' and instead describe the > constraints in the kconfig description. > --- > drivers/usb/misc/Kconfig | 12 ++++++++++++ > drivers/usb/misc/onboard_usb_dev.c | 6 ++++-- > 2 files changed, 16 insertions(+), 2 deletions(-) > > diff --git a/drivers/usb/misc/Kconfig b/drivers/usb/misc/Kconfig > index 50b86d531701..6497c4e81e95 100644 > --- a/drivers/usb/misc/Kconfig > +++ b/drivers/usb/misc/Kconfig > @@ -331,3 +331,15 @@ config USB_ONBOARD_DEV > this config will enable the driver and it will automatically > match the state of the USB subsystem. If this driver is a > module it will be called onboard_usb_dev. > + > +config USB_ONBOARD_DEV_USB5744 > + bool "Onboard USB Microchip usb5744 hub with SMBus support" > + depends on (USB_ONBOARD_DEV && I2C=y) || (USB_ONBOARD_DEV=m && I2C=m) > + help > + Say Y here if you want to support onboard USB Microchip usb5744 > + hub that requires SMBus initialization. > + > + This options enables usb5744 i2c default initialization sequence > + during hub start-up configuration stage. It is must to enable this > + option on AMD Kria KR260 Robotics Starter Kit as this hub is > + connected to USB-SD converter which mounts the root filesystem. With this applied I get the following build warning: WARNING: unmet direct dependencies detected for MODVERSIONS Depends on [n]: MODULES [=y] && !COMPILE_TEST [=y] Selected by [y]: - RANDSTRUCT_FULL [=y] && (CC_HAS_RANDSTRUCT [=n] || GCC_PLUGINS [=y]) && MODULES [=y] WARNING: unmet direct dependencies detected for MODVERSIONS Depends on [n]: MODULES [=y] && !COMPILE_TEST [=y] Selected by [y]: - RANDSTRUCT_FULL [=y] && (CC_HAS_RANDSTRUCT [=n] || GCC_PLUGINS [=y]) && MODULES [=y] WARNING: unmet direct dependencies detected for MODVERSIONS Depends on [n]: MODULES [=y] && !COMPILE_TEST [=y] Selected by [y]: - RANDSTRUCT_FULL [=y] && (CC_HAS_RANDSTRUCT [=n] || GCC_PLUGINS [=y]) && MODULES [=y] Which is odd. It's one extra "unmet direct ..." message than normal for now, so something in this commit is not working properly. Can you fix this up and send a new version? thanks, greg k-h