Re: [RFC PATCH v4 1/3] i2c: rust: implement SMBus read abstraction via kernel::io::Io for I2cClient

From: Bruce Robertson

Date: Fri Jul 17 2026 - 22:56:22 EST


On Tue, Jul 14, 2026 at 23:08:00 +0700, Muchamad Coirul Anwar wrote:
> Agreed. I will rework on top of Danilo's FallibleIoCapable approach
> in v5.

For the write side of that rework: I recently posted an RFC with a
Rust port of the SMB347 charger driver [1], which Igor pointed at this
series (thanks). I'm dropping my standalone SMBus helpers in favor of
your Io-based approach.

The SMB347 driver may be a useful early consumer for v5: unlike the
AS5600 it writes -- a config-unlock write plus read-modify-write
updates of charge-control register fields -- so it would exercise the
io_try_write/try_update paths that Igor noted are otherwise easy to
leave silently infallible. NACK and arbitration loss on a charger
config write are exactly the failures you don't want reported as
Ok(()).

Happy to rebase it onto v5 when it's out and report back.

Bruce

[1] https://lore.kernel.org/all/20260708214738.25008-1-brucer42@xxxxxxxxx/