RE: [PATCH v3 3/3] iio: imu: st_lsm6dsx: add i3c basic support for LSM6DSO and LSM6DSR

From: Vitor Soares
Date: Thu Jul 11 2019 - 07:00:41 EST


From: Vitor Soares <soares@xxxxxxxxxxxx>
Date: Thu, Jul 11, 2019 at 11:12:34

> Hi Lorenzo,
>
> From: Lorenzo Bianconi <lorenzo@xxxxxxxxxx>
> Date: Wed, Jul 10, 2019 at 20:44:05
>
> > > For today the st_lsm6dsx driver support LSM6DSO and LSM6DSR sensor only in
> > > spi and i2c mode.
> > >
> > > The LSM6DSO and LSM6DSR are also i3c capable so lets give i3c support to
> > > them.
> >
> > Hi Vitor,
> >
> > just few comments inline.
> >
> > Regards,
> > Lorenzo
> >
> > >
> > > Signed-off-by: Vitor Soares <vitor.soares@xxxxxxxxxxxx>
> > > Acked-by: Lorenzo Bianconi <lorenzo@xxxxxxxxxx>
> > > ---
> > > Changes in v3:
> > > Remove unnecessary st_lsm6dsx_i3c_data table used to hold device name
> > > Use st_lsm6dsx_probe new form
> > >
> > > Changes in v2:
> > > Add support for LSM6DSR
> > > Set pm_ops to st_lsm6dsx_pm_ops
> > >
> > > drivers/iio/imu/st_lsm6dsx/Kconfig | 8 +++-
> > > drivers/iio/imu/st_lsm6dsx/Makefile | 1 +
> > > drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_i3c.c | 61 +++++++++++++++++++++++++++++
> > > 3 files changed, 69 insertions(+), 1 deletion(-)
> > > create mode 100644 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_i3c.c
> > >
> >
> > [...]
> > > +static int st_lsm6dsx_i3c_probe(struct i3c_device *i3cdev)
> > > +{
> > > + const struct i3c_device_id *id = i3c_device_match_id(i3cdev,
> > > + st_lsm6dsx_i3c_ids);
> >
> > i3c_device_match_id can theoretically fail so is it better to check
> > return value here? (maybe I am too paranoid :))

I was preparing the patch and if the i3c_device_match_id() fail it return
NULL so the st_lsm6dsx_probe() will fail automatically.
Checking the spi_get_device_id(), the drivers don't test the return value
too.

Do you think it is really necessary to test it before the
st_lsm6dsx_probe() function?

Best regards,
Vitor Soares