* [PATCH] usb: misc: onboard_usb_dev: introduce new config symbol for usb5744 SMBus support
@ 2024-09-24 14:19 Radhey Shyam Pandey
2024-09-24 16:26 ` Matthias Kaehlcke
2024-09-25 6:33 ` Greg KH
0 siblings, 2 replies; 5+ messages in thread
From: Radhey Shyam Pandey @ 2024-09-24 14:19 UTC (permalink / raw)
To: gregkh, mka, paul.walmsley, palmer, aou, wentong.wu, oneukum,
javier.carrasco, matthias
Cc: linux-usb, linux-kernel, linux-riscv, git, Radhey Shyam Pandey
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@amd.com>
Suggested-by: Matthias Kaehlcke <matthias@kaehlcke.net>
Reported-by: kernel test robot <lkp@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
+ 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.
diff --git a/drivers/usb/misc/onboard_usb_dev.c b/drivers/usb/misc/onboard_usb_dev.c
index 560591e02d6a..75dfdca04ff1 100644
--- a/drivers/usb/misc/onboard_usb_dev.c
+++ b/drivers/usb/misc/onboard_usb_dev.c
@@ -311,7 +311,7 @@ static void onboard_dev_attach_usb_driver(struct work_struct *work)
static int onboard_dev_5744_i2c_init(struct i2c_client *client)
{
-#if IS_ENABLED(CONFIG_I2C)
+#if IS_ENABLED(CONFIG_USB_ONBOARD_DEV_USB5744)
struct device *dev = &client->dev;
int ret;
@@ -394,9 +394,11 @@ static int onboard_dev_probe(struct platform_device *pdev)
i2c_node = of_parse_phandle(pdev->dev.of_node, "i2c-bus", 0);
if (i2c_node) {
- struct i2c_client *client;
+ struct i2c_client *client = NULL;
+#if IS_ENABLED(CONFIG_USB_ONBOARD_DEV_USB5744)
client = of_find_i2c_device_by_node(i2c_node);
+#endif
of_node_put(i2c_node);
if (!client) {
base-commit: ef545bc03a65438cabe87beb1b9a15b0ffcb6ace
--
2.34.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH] usb: misc: onboard_usb_dev: introduce new config symbol for usb5744 SMBus support
2024-09-24 14:19 [PATCH] usb: misc: onboard_usb_dev: introduce new config symbol for usb5744 SMBus support Radhey Shyam Pandey
@ 2024-09-24 16:26 ` Matthias Kaehlcke
2024-09-25 6:33 ` Greg KH
1 sibling, 0 replies; 5+ messages in thread
From: Matthias Kaehlcke @ 2024-09-24 16:26 UTC (permalink / raw)
To: Radhey Shyam Pandey
Cc: gregkh, mka, paul.walmsley, palmer, aou, wentong.wu, oneukum,
javier.carrasco, linux-usb, linux-kernel, linux-riscv, git
El Tue, Sep 24, 2024 at 07:49:11PM GMT Radhey Shyam Pandey ha dit:
> 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@amd.com>
> Suggested-by: Matthias Kaehlcke <matthias@kaehlcke.net>
> Reported-by: kernel test robot <lkp@intel.com>
> Closes: https://lore.kernel.org/oe-kbuild-all/202409140539.3Axwv38m-lkp@intel.com/
Acked-by: Matthias Kaehlcke <matthias@kaehlcke.net>
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] usb: misc: onboard_usb_dev: introduce new config symbol for usb5744 SMBus support
2024-09-24 14:19 [PATCH] usb: misc: onboard_usb_dev: introduce new config symbol for usb5744 SMBus support Radhey Shyam Pandey
2024-09-24 16:26 ` Matthias Kaehlcke
@ 2024-09-25 6:33 ` Greg KH
2024-09-25 6:59 ` Michal Simek
1 sibling, 1 reply; 5+ messages in thread
From: Greg KH @ 2024-09-25 6:33 UTC (permalink / raw)
To: Radhey Shyam Pandey
Cc: mka, paul.walmsley, palmer, aou, wentong.wu, oneukum,
javier.carrasco, matthias, linux-usb, linux-kernel, linux-riscv,
git
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@amd.com>
> Suggested-by: Matthias Kaehlcke <matthias@kaehlcke.net>
> Reported-by: kernel test robot <lkp@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 :(
thanks,
greg k-h
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] usb: misc: onboard_usb_dev: introduce new config symbol for usb5744 SMBus support
2024-09-25 6:33 ` Greg KH
@ 2024-09-25 6:59 ` Michal Simek
2024-09-25 8:07 ` Greg KH
0 siblings, 1 reply; 5+ messages in thread
From: Michal Simek @ 2024-09-25 6:59 UTC (permalink / raw)
To: Greg KH, Radhey Shyam Pandey
Cc: mka, paul.walmsley, palmer, aou, wentong.wu, oneukum,
javier.carrasco, matthias, linux-usb, linux-kernel, linux-riscv,
git
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@amd.com>
>> Suggested-by: Matthias Kaehlcke <matthias@kaehlcke.net>
>> Reported-by: kernel test robot <lkp@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
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] usb: misc: onboard_usb_dev: introduce new config symbol for usb5744 SMBus support
2024-09-25 6:59 ` Michal Simek
@ 2024-09-25 8:07 ` Greg KH
0 siblings, 0 replies; 5+ messages in thread
From: Greg KH @ 2024-09-25 8:07 UTC (permalink / raw)
To: Michal Simek
Cc: Radhey Shyam Pandey, mka, paul.walmsley, palmer, aou, wentong.wu,
oneukum, javier.carrasco, matthias, linux-usb, linux-kernel,
linux-riscv, git
On Wed, Sep 25, 2024 at 08:59:00AM +0200, Michal Simek wrote:
>
>
> 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@amd.com>
> > > Suggested-by: Matthias Kaehlcke <matthias@kaehlcke.net>
> > > Reported-by: kernel test robot <lkp@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.
That's fine, so say so in the Kconfig text and your depends line should
be fine for that to be correct. But don't do "default y" as it is not
normal for drivers.
thanks,
greg k-h
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2024-09-25 8:08 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-09-24 14:19 [PATCH] usb: misc: onboard_usb_dev: introduce new config symbol for usb5744 SMBus support Radhey Shyam Pandey
2024-09-24 16:26 ` Matthias Kaehlcke
2024-09-25 6:33 ` Greg KH
2024-09-25 6:59 ` Michal Simek
2024-09-25 8:07 ` Greg KH
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox