mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Jon Hunter <jonathanh@nvidia.com>
To: Andreas Kemnade <andreas@kemnade.info>,
	Wolfram Sang <wsa+renesas@sang-engineering.com>,
	Frank Li <Frank.Li@nxp.com>, Linus Walleij <linusw@kernel.org>,
	Patrice Chotard <patrice.chotard@foss.st.com>,
	Florian Fainelli <florian.fainelli@broadcom.com>,
	Dave Stevenson <dave.stevenson@raspberrypi.com>
Cc: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>,
	Bartosz Golaszewski <brgl@kernel.org>,
	linux-i2c@vger.kernel.org, linux-kernel@vger.kernel.org,
	Kalle Niemi <kaleposti@gmail.com>,
	"linux-tegra@vger.kernel.org" <linux-tegra@vger.kernel.org>
Subject: Re: [PATCH] i2c: i2c-core-base: fix devicetree alias handling
Date: Fri, 6 Mar 2026 14:04:14 +0000	[thread overview]
Message-ID: <38807fcc-82ff-41a5-8c8b-88fd9961df32@nvidia.com> (raw)
In-Reply-To: <9b3c0190-7996-40a3-8306-5038f42b2b15@nvidia.com>


On 06/03/2026 10:18, Jon Hunter wrote:
> Hi Andreas,
> 
> On 02/03/2026 17:04, Andreas Kemnade wrote:
>> Parent device is not set up there, so use the new of_node pointer to
>> handle aliases.
>>
>> Fixes: 0ab80451c70f ("i2c: allow setting the parent device and OF node 
>> through the adapter struct")
>> Reported-by: Kalle Niemi <kaleposti@gmail.com>
>> Closes: https://lore.kernel.org/lkml/ 
>> EDF3FB58-4747-442E-8463-6F1C6E568962@gmail.com/
>> Signed-off-by: Andreas Kemnade <andreas@kemnade.info>
>> ---
>>   drivers/i2c/i2c-core-base.c | 3 +--
>>   1 file changed, 1 insertion(+), 2 deletions(-)
>>
>> diff --git a/drivers/i2c/i2c-core-base.c b/drivers/i2c/i2c-core-base.c
>> index dd8cec9b04c6..e22d784202b8 100644
>> --- a/drivers/i2c/i2c-core-base.c
>> +++ b/drivers/i2c/i2c-core-base.c
>> @@ -1657,10 +1657,9 @@ static int __i2c_add_numbered_adapter(struct 
>> i2c_adapter *adap)
>>    */
>>   int i2c_add_adapter(struct i2c_adapter *adapter)
>>   {
>> -    struct device *dev = &adapter->dev;
>>       int id;
>> -    id = of_alias_get_id(dev->of_node, "i2c");
>> +    id = of_alias_get_id(adapter->of_node, "i2c");
>>       if (id >= 0) {
>>           adapter->nr = id;
>>           return __i2c_add_numbered_adapter(adapter);
> 
> This change is breaking a test we run to check that I2C devices are 
> populated as expected on a few of our Tegra boards. For example, on the 
> Tegra234 board, the I2C aliases are defined in arch/arm64/boot/dts/ 
> nvidia/tegra234.dtsi. Here we have ...
> 
>          aliases {
>                  i2c0 = &gen1_i2c;
>                  i2c1 = &gen2_i2c;
>                  i2c2 = &cam_i2c;
>                  i2c3 = &dp_aux_ch1_i2c;
>                  i2c4 = &bpmp_i2c;
>                  i2c5 = &dp_aux_ch0_i2c;
>                  i2c6 = &dp_aux_ch2_i2c;
>                  i2c7 = &gen8_i2c;
>                  i2c8 = &dp_aux_ch3_i2c;
>          };

I guess I should add the mapping (from tegra234.dtsi) ...

&gen1_i2c --> i2c@3160000
&gen2_i2c --> i2c@c240000
&bpmp_i2c --> Tegra BPMP I2C adapter
dp_aux_ch3_i2c --> i2c@31e0000

> Before this change, on the Tegra234 Jetson AGX Orin board (tegra234- 
> p3737-0000+p3701-0000.dts) the I2C devices were mapped as above ...
> 
> /sys/class/i2c-dev/i2c-0/name --> 3160000.i2c
> /sys/class/i2c-dev/i2c-1/name --> c240000.i2c
> /sys/class/i2c-dev/i2c-4/name --> Tegra BPMP I2C adapter
> /sys/class/i2c-dev/i2c-8/name --> 31e0000.i2c

Hence this looks correct.

> After this change I now see ...
> 
> /sys/class/i2c-dev/i2c-9/name --> Tegra BPMP I2C adapter
> /sys/class/i2c-dev/i2c-10/name --> 3160000.i2c
> /sys/class/i2c-dev/i2c-11/name --> 31e0000.i2c
> /sys/class/i2c-dev/i2c-12/name --> c240000.i2c

But this does not.

Jon

-- 
nvpublic


  reply	other threads:[~2026-03-06 14:04 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-03-02 17:04 Andreas Kemnade
2026-03-03  8:46 ` Bartosz Golaszewski
2026-03-04 10:47 ` Wolfram Sang
2026-03-04 16:42   ` Bartosz Golaszewski
2026-03-04 17:00     ` Wolfram Sang
2026-03-06 10:18 ` Jon Hunter
2026-03-06 14:04   ` Jon Hunter [this message]
2026-03-07 17:26   ` Andreas Kemnade
2026-03-09  9:08     ` Bartosz Golaszewski
2026-03-09 11:40       ` Wolfram Sang
2026-03-03  8:06 Kalle Niemi

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=38807fcc-82ff-41a5-8c8b-88fd9961df32@nvidia.com \
    --to=jonathanh@nvidia.com \
    --cc=Frank.Li@nxp.com \
    --cc=andreas@kemnade.info \
    --cc=bartosz.golaszewski@oss.qualcomm.com \
    --cc=brgl@kernel.org \
    --cc=dave.stevenson@raspberrypi.com \
    --cc=florian.fainelli@broadcom.com \
    --cc=kaleposti@gmail.com \
    --cc=linusw@kernel.org \
    --cc=linux-i2c@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-tegra@vger.kernel.org \
    --cc=patrice.chotard@foss.st.com \
    --cc=wsa+renesas@sang-engineering.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

Powered by JetHome