[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <2D57C995-C65C-4F61-9CDD-9884967E7CC2@nexthop.ai>
Date: Tue, 3 Feb 2026 11:57:30 -0800
From: Abdurrahman Hussain <abdurrahman@...thop.ai>
To: Andrew Lunn <andrew@...n.ch>
Cc: Andy Shevchenko <andriy.shevchenko@...el.com>,
Michal Simek <michal.simek@....com>,
Andi Shyti <andi.shyti@...nel.org>,
Rob Herring <robh@...nel.org>,
Krzysztof Kozlowski <krzk+dt@...nel.org>,
Conor Dooley <conor+dt@...nel.org>,
linux-arm-kernel@...ts.infradead.org,
linux-i2c@...r.kernel.org,
linux-kernel@...r.kernel.org,
devicetree@...r.kernel.org
Subject: Re: [PATCH v9 6/7] i2c: xiic: use numbered adapter registration
> On Feb 3, 2026, at 10:50 AM, Abdurrahman Hussain <abdurrahman@...thop.ai> wrote:
>
>
>
>> On Feb 3, 2026, at 10:31 AM, Andrew Lunn <andrew@...n.ch> wrote:
>>
>> On Tue, Feb 03, 2026 at 10:14:49AM -0800, Abdurrahman Hussain wrote:
>>>
>>>
>>>> On Feb 3, 2026, at 7:45 AM, Andy Shevchenko <andriy.shevchenko@...el.com> wrote:
>>>>
>>>> On Mon, Feb 02, 2026 at 08:37:23PM +0000, Abdurrahman Hussain via B4 Relay wrote:
>>>>
>>>>> Use i2c_add_numbered_adapter() to allow platform devices to specify
>>>>> fixed bus numbers when needed.
>>>>
>>>> Not sure about this. Doesn't it break the current approach? Please, double
>>>> check that.
>>>>
>>>> --
>>>> With Best Regards,
>>>> Andy Shevchenko
>>>>
>>>>
>>>
>>> If pdev->id is PLATFORM_DEVID_NONE(-1) then i2c_add_numbered_adapter()
>>> falls back to dynamic allocation and calls i2c_add_adapter().
>>>
>>> Many existing i2c drivers use the same approach, see i2c-pxa.c and
>>> i2c-pnx.c etc.
>>
>> It is not about if other drivers do this. Its about does this change
>> the behaviour of this driver, so that I2C busses get different IDs
>> then before, and so cause regressions?
>>
>> You need to explain in the commit message why you think this is safe.
>>
>> Andrew
>
> Before, the driver was always doing the dynamic allocation due to
> i2c_add_adapter(). So there could not have been a system that relied on
> consistent i2c bus numbering. Even between reboots bus numbering could change.
>
> The systems that did set pdev->id and were expecting a consistent i2c bus
> numbering were broken to begin with.
>
> This patch won’t break any existing systems or cause regressions.
>
I can add the following to the commit if you find the wording acceptable:
Previously, the i2c bus numbers were dynamically allocated because of the use of
the i2c_add_adapter() call. This meant there were no guarantees about consistent
bus numbering. However, with this change, on systems that don’t set their platform
device ID and leave it at the default PLATFORM_DEVID_NONE, the bus numbers will
still be dynamically allocated because of the check in i2c_add_numbered_adapter().
Therefore there won’t be any change in behavior.
Powered by blists - more mailing lists