Re: [PATCH v2] usb: misc: onboard_usb_dev: introduce new config symbol for usb5744 SMBus support
From: Greg KH
Date: Fri Oct 04 2024 - 09:36:23 EST
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