[PATCH] usb: misc: onboard_usb_dev: introduce new config symbol for usb5744 SMBus support
Michal Simek
michal.simek at amd.com
Tue Sep 24 23:59:00 PDT 2024
On 9/25/24 08:33, Greg KH wrote:
> On Tue, Sep 24, 2024 at 07:49:11PM +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 at amd.com>
>> Suggested-by: Matthias Kaehlcke <matthias at kaehlcke.net>
>> Reported-by: kernel test robot <lkp at intel.com>
>> Closes: https://lore.kernel.org/oe-kbuild-all/202409140539.3Axwv38m-lkp@intel.com/
>> ---
>> drivers/usb/misc/Kconfig | 11 +++++++++++
>> drivers/usb/misc/onboard_usb_dev.c | 6 ++++--
>> 2 files changed, 15 insertions(+), 2 deletions(-)
>>
>> diff --git a/drivers/usb/misc/Kconfig b/drivers/usb/misc/Kconfig
>> index 50b86d531701..29976a93f122 100644
>> --- a/drivers/usb/misc/Kconfig
>> +++ b/drivers/usb/misc/Kconfig
>> @@ -331,3 +331,14 @@ 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)
>> + default y
>
> "default y" is if you can not boot without this option enabled for all
> Linux systems. I doubt that is the case here :(
Intention is to have it enabled when USB_ONBOARD_DEV is enabled with all other
conditions. In our case where our HW guys started to use this usb hub with
usb-sd convertor where rootfs is on it. Without usb hub initialization via i2c
we are not able to boot our system.
Thanks,
Michal
More information about the linux-riscv
mailing list