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
next prev parent 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