On Thu, 12 May 2022 14:11:06 -0500 Eddie James <eajames@xxxxxxxxxxxxx> wrote: > On 5/12/22 11:48, Jonathan Cameron wrote: > > On Thu, 12 May 2022 11:20:18 -0500 > > Eddie James <eajames@xxxxxxxxxxxxx> wrote: > > > >> I2C commands issued after the SI7020 is starting up or after reset > >> can potentially upset the startup sequence. Therefore, the host > >> needs to wait for the startup sequence to finish before issuing > >> further i2c commands. This is impractical in cases where the SI7020 > >> is on a shared bus or behind a mux, which may switch channels at > >> any time (generating I2C traffic). Therefore, check for a device > >> property that indicates that the driver should skip resetting the > >> device when probing. > > Why not lock the bus? It's not ideal, but then not resetting and hence > > potentially ending up in an unknown state isn't great either. > > > Also, I should mention that in our case we can rely on the power on > reset, so the device should be in a known state. Until someone unbinds and rebinds the driver... It's very hard to have any guarantees once users are involved :) Jonathan > > Eddie > > > > > > Jonathan > > > >> Changes since v1: > >> - Fix dt binding document > >> > >> Eddie James (2): > >> dt-bindings: iio: humidity: Add si7020 bindings > >> iio: humidity: si7020: Check device property for skipping reset in probe > >> > >> .../bindings/iio/humidity/silabs,si7020.yaml | 47 +++++++++++++++++++ > >> .../devicetree/bindings/trivial-devices.yaml | 2 - > >> drivers/iio/humidity/si7020.c | 14 +++--- > >> 3 files changed, 55 insertions(+), 8 deletions(-) > >> create mode 100644 Documentation/devicetree/bindings/iio/humidity/silabs,si7020.yaml > >>