[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <806462b6-e85e-f5e8-9ffb-cffa5dae72c2@lucaceresoli.net>
Date: Wed, 18 May 2022 18:09:55 +0200
From: Luca Ceresoli <luca@...aceresoli.net>
To: Peter Rosin <peda@...ntia.se>, Wolfram Sang <wsa@...nel.org>,
Vincent Whitchurch <vincent.whitchurch@...s.com>,
kernel@...s.com, linux-i2c@...r.kernel.org,
devicetree@...r.kernel.org, krzk+dt@...nel.org, robh+dt@...nel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH v2 1/2] dt-bindings: i2c: add property to avoid device
detection
Hi Peter, all,
On 16/05/22 10:07, Peter Rosin wrote:
> [Now with the proper email to Luca, sorry about that...]
>
> 2022-05-16 at 09:57, Peter Rosin wrote:
>> 2022-05-14 at 16:26, Wolfram Sang wrote:
>>> On Tue, Apr 12, 2022 at 10:50:45AM +0200, Vincent Whitchurch wrote:
>>>> When drivers with ->detect callbacks are loaded, the I2C core does a
>>>> bunch of transactions to try to probe for these devices, regardless of
>>>> whether they are specified in the devicetree or not. (This only happens
>>>> on I2C controllers whose drivers enable the I2C_CLASS* flags, but this
>>>> is the case for generic drivers like i2c-gpio.)
>>>>
>>>> These kinds of transactions are unnecessary on systems where the
>>>> devicetree specifies all the devices on the I2C bus, so add a property
>>>> to indicate that the devicetree description of the hardware is complete
>>>> and thus allow this discovery to be disabled.
>>> Hmm, I don't think the name is fitting. "no-detect" is the desired
>>> behaviour but a proper description is more like "bus-complete" or
>>> something?
>>>
>>> That aside, I am not sure we should handle this at DT level. Maybe we
>>> should better change the GPIO driver to not populate a class if we have
>>> a firmware node?
>> We also have the somewhat related address translation case (which I
>> still need to look at). [Adding Luca to Cc]
>>
>> https://lore.kernel.org/lkml/20220206115939.3091265-1-luca@lucaceresoli.net/
>>
>> If a bus is "bus-complete", then address translation could use
>> any unused address instead of from an explicit list of addresses.
>> I.e. the "i2c-alias-pool" in the binding in patch 4/6 of that
>> series could be made optional if the bus is "bus-complete".
Indeed the alias pool is meant to completely disappear from the ATR
implementation. The i2c core should evolve to know which addresses
correspond to a device (no matter if it has a driver or not) and use any
other addresses as aliases. This was the outcome of discussion on this
topic with Wolfram, even though I AFAIK any implementation effort is
idle since a long time.
--
Luca
Powered by blists - more mailing lists