There are slave devices that understand I2C but have read-only SDA and SCL. Examples are FD650 7-segment LED controller and its derivatives. Typical board designs don't even have a pull-up for both pins. Therefore add properties for not using open-drain. For write-only SCL we have a property already, add one for write-only SDA. v2: - improve commit message for patch 1 v3: - patch 2: check for adap->getsda in readbytes() - patch 2: align warning message level for info on missing getscl/getsda - patch 3: improve description of attribute sda_is_output_only v4: - patch 1: add no-pullup properties - patch 2: handle SDA and SCL independently - patch 2: properly handle case that SDA is NULL but SCL not - patch 3: handle new no-pullup attributes Heiner Kallweit (3): dt-bindings: i2c-gpio: Add properties for dealing with write-only SDA/SCL w/o pullup i2c: algo: bit: allow getsda to be NULL i2c: gpio: support write-only sda/scl w/o pull-up .../devicetree/bindings/i2c/i2c-gpio.yaml | 16 ++++ drivers/i2c/algos/i2c-algo-bit.c | 77 +++++++++---------- drivers/i2c/busses/i2c-gpio.c | 13 +++- include/linux/platform_data/i2c-gpio.h | 9 +++ 4 files changed, 70 insertions(+), 45 deletions(-) -- 2.39.0