Re: [PATCH] iio: humidity: ens210: Fix missing I2C functionality checks
From: Andy Shevchenko
Date: Tue May 05 2026 - 05:44:44 EST
On Tue, May 5, 2026 at 12:28 PM Salah Triki <salah.triki@xxxxxxxxx> wrote:
> On Tue, May 05, 2026 at 12:07:04PM +0300, Andy Shevchenko wrote:
> > On Tue, May 05, 2026 at 10:02:47AM +0100, Salah Triki wrote:
> > > The ENS210 driver uses both `i2c_smbus_read_byte_data()` and
> > > `i2c_smbus_read_word_data()` during the read and probe phases.
> > > However, `i2c_check_functionality()` was only checking for block reads
> > > and simple byte writes, which could lead to hardware interface
> > > incompatibilities or errors on certain adapters that do not natively
> > > support SMBus word or byte data transactions.
> > >
> > > Add `I2C_FUNC_SMBUS_READ_BYTE_DATA` and `I2C_FUNC_SMBUS_READ_WORD_DATA`
> > > to the functionality check mask to ensure the adapter supports the
> > > required operations before communication begins.
> >
> > Can we rather modify the driver to use SW emulation for these cases?
>
> I'll update the probe function to check for I2C_FUNC_SMBUS_EMUL instead of
> the individual functions.
Hmm... But will it work with the drivers that do not provide EMUL, but
the native functions?
Please, carefully check all this and come up with a solution that
works for most of the cases if not all.
--
With Best Regards,
Andy Shevchenko