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

Rob Herring
2022-04-12T23:30:05Z

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.
>
> Signed-off-by: Vincent Whitchurch <vincent.whitchurch@axis.com>
> ---
>
> Notes:
> v2:
> - Change subject prefix
> - Reword description of property
>
> Documentation/devicetree/bindings/i2c/i2c.txt | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/i2c/i2c.txt b/Documentation/devicetree/bindings/i2c/i2c.txt
> index fc3dd7ec0445..960d1d5c9362 100644
> --- a/Documentation/devicetree/bindings/i2c/i2c.txt
> +++ b/Documentation/devicetree/bindings/i2c/i2c.txt
> @@ -72,6 +72,10 @@ wants to support one of the below features, it should adapt these bindings.
> this information to adapt power management to keep the arbitration awake
> all the time, for example. Can not be combined with 'single-master'.
>
> +- no-detect
> + states that no other devices are present on this bus other than the
> + ones listed in the devicetree.

This belongs in the schema instead:

https://github.com/devicetree-org/dt-schema/blob/main/dtschema/schemas/i2c/i2c-controller.yaml

Rob