[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20220429130749.3032462-1-vincent.whitchurch@axis.com>
Date: Fri, 29 Apr 2022 15:07:48 +0200
From: Vincent Whitchurch <vincent.whitchurch@...s.com>
To: <wsa@...nel.org>
CC: <kernel@...s.com>,
Vincent Whitchurch <vincent.whitchurch@...s.com>,
<linux-i2c@...r.kernel.org>, <devicetree@...r.kernel.org>,
<linux-kernel@...r.kernel.org>
Subject: [PATCH v3 0/1] i2c: Allow disabling auto detection via devicetree
v3:
- Drop bindings patch since it has been merged in dt-schema:
https://github.com/devicetree-org/dt-schema/commit/ba55f96c6d8d
- Reword commit message of i2c patch to indicate that the property is
documented in dt-schema.
v2:
- Change subject prefix of bindings patch
- Reword description of property in bindings patch
When a driver with a ->detect callback (such as lm75) is loaded, the i2c core
performs I2C transactions on the bus to all the addresses listed in that
driver's address_list. This kind of probing wastes time and as
Documentation/i2c/instantiating-devices.rst says, this method is not
recommended and it is instead advised to list all devices in the devicetree.
However, even if all the devices are listed in the devicetree, there is
currently no way to prevent the core from attempting auto detection short of
patching controller drivers to not pass the I2C_CLASS* bits in adap->class.
The latter is not always possible since generic drivers like i2c-gpio set these
bits.
To avoid this unnecessary probing and reduce boot time, this series adds
support in the I2C core to allow this feature to be disabled.
Cc: linux-i2c@...r.kernel.org
Cc: devicetree@...r.kernel.org
Cc: linux-kernel@...r.kernel.org
Vincent Whitchurch (1):
i2c: core: support no-detect property
drivers/i2c/i2c-core-base.c | 8 +++++++-
include/linux/i2c.h | 1 +
2 files changed, 8 insertions(+), 1 deletion(-)
--
2.34.1
Powered by blists - more mailing lists