Re: [PATCH] i2c: i2c-core-base: fix devicetree alias handling

From: Andreas Kemnade

Date: Sat Mar 07 2026 - 12:56:09 EST


On Fri, 6 Mar 2026 10:18:09 +0000
Jon Hunter <jonathanh@xxxxxxxxxx> wrote:

[...]

> /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
>
> 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
>
> So the subject says that this fixes device-tree aliases, but it appears
> to break it for Tegra. In fact, this patch appears to have the same
> problem that you reported with Bartosz's change. Reverting this change
> fixes the problem. So I am a bit confused why we are seeing different
> behaviour.
>
Hmm, i2c-tegra.c was forgotten in Bartosz's change because
the code looks a bit different.

There is still
i2c_dev->adapter.dev.of_node = i2c_dev->dev->of_node;
i2c_dev->adapter.dev.parent = i2c_dev->dev;
there.
compared to
adap->parent = &pdev->dev;
adap->of_node = pdev->dev.of_node;

in omap code. So I think, the easiest to get forward is to
also adapt i2c-tegra.c.

Regards,
Andreas