Re: [PATCH v2 1/2] dt-bindings: i2c: add property to avoid device detection

Peter Rosin
2022-05-16T07:57:37Z

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".

Not sure how much value there is in that?

Cheers,
Peter