All of lore.kernel.org
 help / color / mirror / Atom feed
From: Alexandre Belloni <alexandre.belloni@bootlin.com>
To: Arnd Bergmann <arnd@kernel.org>
Cc: "Guenter Roeck" <linux@roeck-us.net>,
	"Jonathan Cameron" <jic23@kernel.org>,
	"Arnd Bergmann" <arnd@arndb.de>,
	"Greg Kroah-Hartman" <gregkh@linuxfoundation.org>,
	"Andy Shevchenko" <andriy.shevchenko@intel.com>,
	"Frank Li" <Frank.Li@nxp.com>,
	"Adrian Fluturel" <fluturel.adrian@gmail.com>,
	"Carlos Song" <carlos.song@nxp.com>,
	"David Lechner" <dlechner@baylibre.com>,
	"Nuno Sá" <nuno.sa@analog.com>,
	"Andy Shevchenko" <andy@kernel.org>,
	"Jean Delvare" <jdelvare@suse.de>,
	linux-hwmon@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-i3c@lists.infradead.org, linux-iio@vger.kernel.org
Subject: Re: [PATCH] [v2] i3c, iio: fix i3c driver dependencies
Date: Wed, 4 Feb 2026 17:33:21 +0100	[thread overview]
Message-ID: <20260204163321cfaa320e@mail.local> (raw)
In-Reply-To: <20260202160543.3654499-1-arnd@kernel.org>

On 02/02/2026 17:04:46+0100, Arnd Bergmann wrote:
> From: Arnd Bergmann <arnd@arndb.de>
> 
> All combined i2c/i3c drivers appear to suffer from the same link
> time problem when CONFIG_I3C is set to 'm':
> 
> arm-linux-gnueabi-ld: drivers/iio/magnetometer/mmc5633.o: in function `mmc5633_i3c_driver_init':
> mmc5633.c:(.init.text+0x30): undefined reference to `i3c_driver_register_with_owner'
> 
> This was previously fixed several times by marking individual
> drivers as 'depends on I2C; depends on I3C || !I3C', but this gets
> tedious and is somewhat confusing.
> 
> Add a Kconfig symbol 'I3C_OR_I2C' to help replace those dependencies,
> and use this in all the existing drivers that had already fixed it
> as well as the new mmc5633 driver.
> 
> Fixes: 6e5f6bf2e3f0 ("iio: magnetometer: Add mmc5633 sensor")
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> ---
> v2: restore accidentally deleted lines
> ---
>  drivers/hwmon/Kconfig            |  6 ++----
>  drivers/i3c/Kconfig              | 12 ++++++++++++
>  drivers/iio/magnetometer/Kconfig |  2 +-
>  drivers/misc/amd-sbi/Kconfig     |  3 +--
>  4 files changed, 16 insertions(+), 7 deletions(-)
> 
> diff --git a/drivers/hwmon/Kconfig b/drivers/hwmon/Kconfig
> index 41c381764c2b..ecfba861f66d 100644
> --- a/drivers/hwmon/Kconfig
> +++ b/drivers/hwmon/Kconfig
> @@ -1493,8 +1493,7 @@ config SENSORS_LM73
>  
>  config SENSORS_LM75
>  	tristate "National Semiconductor LM75 and compatibles"
> -	depends on I2C
> -	depends on I3C || !I3C
> +	depends on I3C_OR_I2C
>  	select REGMAP_I2C
>  	select REGMAP_I3C if I3C
>  	help
> @@ -2392,8 +2391,7 @@ config SENSORS_TMP103
>  
>  config SENSORS_TMP108
>  	tristate "Texas Instruments TMP108"
> -	depends on I2C
> -	depends on I3C || !I3C
> +	depends on I3C_OR_I2C
>  	select REGMAP_I2C
>  	select REGMAP_I3C if I3C
>  	help
> diff --git a/drivers/i3c/Kconfig b/drivers/i3c/Kconfig
> index 30a441506f61..626c54b386d5 100644
> --- a/drivers/i3c/Kconfig
> +++ b/drivers/i3c/Kconfig
> @@ -22,3 +22,15 @@ menuconfig I3C
>  if I3C
>  source "drivers/i3c/master/Kconfig"
>  endif # I3C
> +
> +config I3C_OR_I2C

I'm fine with this but I wanted to mention that we have RTC_I2C_AND_SPI
the "and" being because it is from the point of view of the device (the
device supports both bus) while we have I3C_OR_I2C, "or" being about the
bus (the device can be on any bus).

So I guess at some point we are going to need a combination of
I3C_OR_I2C and SPI and this may be weird to have both OR and AND.



-- 
Alexandre Belloni, co-owner and COO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

WARNING: multiple messages have this Message-ID (diff)
From: Alexandre Belloni <alexandre.belloni@bootlin.com>
To: Arnd Bergmann <arnd@kernel.org>
Cc: "Guenter Roeck" <linux@roeck-us.net>,
	"Jonathan Cameron" <jic23@kernel.org>,
	"Arnd Bergmann" <arnd@arndb.de>,
	"Greg Kroah-Hartman" <gregkh@linuxfoundation.org>,
	"Andy Shevchenko" <andriy.shevchenko@intel.com>,
	"Frank Li" <Frank.Li@nxp.com>,
	"Adrian Fluturel" <fluturel.adrian@gmail.com>,
	"Carlos Song" <carlos.song@nxp.com>,
	"David Lechner" <dlechner@baylibre.com>,
	"Nuno Sá" <nuno.sa@analog.com>,
	"Andy Shevchenko" <andy@kernel.org>,
	"Jean Delvare" <jdelvare@suse.de>,
	linux-hwmon@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-i3c@lists.infradead.org, linux-iio@vger.kernel.org
Subject: Re: [PATCH] [v2] i3c, iio: fix i3c driver dependencies
Date: Wed, 4 Feb 2026 17:33:21 +0100	[thread overview]
Message-ID: <20260204163321cfaa320e@mail.local> (raw)
In-Reply-To: <20260202160543.3654499-1-arnd@kernel.org>

On 02/02/2026 17:04:46+0100, Arnd Bergmann wrote:
> From: Arnd Bergmann <arnd@arndb.de>
> 
> All combined i2c/i3c drivers appear to suffer from the same link
> time problem when CONFIG_I3C is set to 'm':
> 
> arm-linux-gnueabi-ld: drivers/iio/magnetometer/mmc5633.o: in function `mmc5633_i3c_driver_init':
> mmc5633.c:(.init.text+0x30): undefined reference to `i3c_driver_register_with_owner'
> 
> This was previously fixed several times by marking individual
> drivers as 'depends on I2C; depends on I3C || !I3C', but this gets
> tedious and is somewhat confusing.
> 
> Add a Kconfig symbol 'I3C_OR_I2C' to help replace those dependencies,
> and use this in all the existing drivers that had already fixed it
> as well as the new mmc5633 driver.
> 
> Fixes: 6e5f6bf2e3f0 ("iio: magnetometer: Add mmc5633 sensor")
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> ---
> v2: restore accidentally deleted lines
> ---
>  drivers/hwmon/Kconfig            |  6 ++----
>  drivers/i3c/Kconfig              | 12 ++++++++++++
>  drivers/iio/magnetometer/Kconfig |  2 +-
>  drivers/misc/amd-sbi/Kconfig     |  3 +--
>  4 files changed, 16 insertions(+), 7 deletions(-)
> 
> diff --git a/drivers/hwmon/Kconfig b/drivers/hwmon/Kconfig
> index 41c381764c2b..ecfba861f66d 100644
> --- a/drivers/hwmon/Kconfig
> +++ b/drivers/hwmon/Kconfig
> @@ -1493,8 +1493,7 @@ config SENSORS_LM73
>  
>  config SENSORS_LM75
>  	tristate "National Semiconductor LM75 and compatibles"
> -	depends on I2C
> -	depends on I3C || !I3C
> +	depends on I3C_OR_I2C
>  	select REGMAP_I2C
>  	select REGMAP_I3C if I3C
>  	help
> @@ -2392,8 +2391,7 @@ config SENSORS_TMP103
>  
>  config SENSORS_TMP108
>  	tristate "Texas Instruments TMP108"
> -	depends on I2C
> -	depends on I3C || !I3C
> +	depends on I3C_OR_I2C
>  	select REGMAP_I2C
>  	select REGMAP_I3C if I3C
>  	help
> diff --git a/drivers/i3c/Kconfig b/drivers/i3c/Kconfig
> index 30a441506f61..626c54b386d5 100644
> --- a/drivers/i3c/Kconfig
> +++ b/drivers/i3c/Kconfig
> @@ -22,3 +22,15 @@ menuconfig I3C
>  if I3C
>  source "drivers/i3c/master/Kconfig"
>  endif # I3C
> +
> +config I3C_OR_I2C

I'm fine with this but I wanted to mention that we have RTC_I2C_AND_SPI
the "and" being because it is from the point of view of the device (the
device supports both bus) while we have I3C_OR_I2C, "or" being about the
bus (the device can be on any bus).

So I guess at some point we are going to need a combination of
I3C_OR_I2C and SPI and this may be weird to have both OR and AND.



-- 
Alexandre Belloni, co-owner and COO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

-- 
linux-i3c mailing list
linux-i3c@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-i3c

  parent reply	other threads:[~2026-02-04 16:33 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-02-02 16:04 [PATCH] [v2] i3c, iio: fix i3c driver dependencies Arnd Bergmann
2026-02-02 16:04 ` Arnd Bergmann
2026-02-02 16:37 ` Frank Li
2026-02-02 16:37   ` Frank Li
2026-02-02 17:50 ` Guenter Roeck
2026-02-02 17:50   ` Guenter Roeck
2026-02-02 20:50   ` Jonathan Cameron
2026-02-02 20:50     ` Jonathan Cameron
2026-02-04 16:26     ` Alexandre Belloni
2026-02-04 16:26       ` Alexandre Belloni
2026-02-04 16:44       ` Arnd Bergmann
2026-02-04 16:44         ` Arnd Bergmann
2026-02-04 16:33 ` Alexandre Belloni [this message]
2026-02-04 16:33   ` Alexandre Belloni

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20260204163321cfaa320e@mail.local \
    --to=alexandre.belloni@bootlin.com \
    --cc=Frank.Li@nxp.com \
    --cc=andriy.shevchenko@intel.com \
    --cc=andy@kernel.org \
    --cc=arnd@arndb.de \
    --cc=arnd@kernel.org \
    --cc=carlos.song@nxp.com \
    --cc=dlechner@baylibre.com \
    --cc=fluturel.adrian@gmail.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=jdelvare@suse.de \
    --cc=jic23@kernel.org \
    --cc=linux-hwmon@vger.kernel.org \
    --cc=linux-i3c@lists.infradead.org \
    --cc=linux-iio@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@roeck-us.net \
    --cc=nuno.sa@analog.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.