mbox series

[0/4] iio: st_sensors: convert probe functions to full devm

Message ID 20210726071404.14529-1-aardelean@deviqon.com (mailing list archive)
Headers show
Series iio: st_sensors: convert probe functions to full devm | expand

Message

Alexandru Ardelean July 26, 2021, 7:14 a.m. UTC
Continuing from series:
  https://lore.kernel.org/linux-iio/20210720074642.223293-1-aardelean@deviqon.com/

This goes a little further and converts all ST drivers using the st_common
bits to devm functions.
As mentioned by Jonathan, the devm unwind is often attached to
iio_dev->dev.parent, and something it's attached to some other pointer
which references the same device object.

In the last patch, that point is removed, to eliminate doubt about this
mix-n-match.
An alternative would be an assert/check somewhere to ensure that
'iio_dev->dev.parent == adata->dev'. But I [personally] don't like it that
much.

As mentioned previously, I was also thinking of sending this set with the
previous one. But I am usually reserved to send large sets; also, because I
don't really like to review large sets [when I'm reviewing other people's
code].

Alexandru Ardelean (4):
  iio: st_sensors: remove st_sensors_deallocate_trigger() function
  iio: st_sensors: remove st_sensors_power_disable() function
  iio: st_sensors: remove all driver remove functions
  iio: st_sensors: remove reference to parent device object on
    st_sensor_data

 drivers/iio/accel/st_accel_core.c             | 32 +++--------
 drivers/iio/accel/st_accel_i2c.c              | 23 +-------
 drivers/iio/accel/st_accel_spi.c              | 23 +-------
 .../iio/common/st_sensors/st_sensors_core.c   | 34 ++++++------
 .../iio/common/st_sensors/st_sensors_i2c.c    |  1 -
 .../iio/common/st_sensors/st_sensors_spi.c    |  1 -
 .../common/st_sensors/st_sensors_trigger.c    | 53 +++++++------------
 drivers/iio/gyro/st_gyro_core.c               | 27 ++--------
 drivers/iio/gyro/st_gyro_i2c.c                | 23 +-------
 drivers/iio/gyro/st_gyro_spi.c                | 23 +-------
 drivers/iio/imu/st_lsm9ds0/st_lsm9ds0.h       |  1 -
 drivers/iio/imu/st_lsm9ds0/st_lsm9ds0_core.c  | 17 +-----
 drivers/iio/imu/st_lsm9ds0/st_lsm9ds0_i2c.c   |  6 ---
 drivers/iio/imu/st_lsm9ds0/st_lsm9ds0_spi.c   |  6 ---
 drivers/iio/magnetometer/st_magn_core.c       | 29 ++--------
 drivers/iio/magnetometer/st_magn_i2c.c        | 23 +-------
 drivers/iio/magnetometer/st_magn_spi.c        | 23 +-------
 drivers/iio/pressure/st_pressure_core.c       | 27 ++--------
 drivers/iio/pressure/st_pressure_i2c.c        | 23 +-------
 drivers/iio/pressure/st_pressure_spi.c        | 23 +-------
 include/linux/iio/common/st_sensors.h         | 13 -----
 21 files changed, 60 insertions(+), 371 deletions(-)

Comments

Jonathan Cameron July 31, 2021, 5:40 p.m. UTC | #1
On Mon, 26 Jul 2021 10:14:00 +0300
Alexandru Ardelean <aardelean@deviqon.com> wrote:

> Continuing from series:
>   https://lore.kernel.org/linux-iio/20210720074642.223293-1-aardelean@deviqon.com/
> 
> This goes a little further and converts all ST drivers using the st_common
> bits to devm functions.
> As mentioned by Jonathan, the devm unwind is often attached to
> iio_dev->dev.parent, and something it's attached to some other pointer
> which references the same device object.
> 
> In the last patch, that point is removed, to eliminate doubt about this
> mix-n-match.
> An alternative would be an assert/check somewhere to ensure that
> 'iio_dev->dev.parent == adata->dev'. But I [personally] don't like it that
> much.
> 
> As mentioned previously, I was also thinking of sending this set with the
> previous one. But I am usually reserved to send large sets; also, because I
> don't really like to review large sets [when I'm reviewing other people's
> code].

I'm fine with this, though I would like the reorder pulled out as as
separate patch and moved to the front of the series. It's a good change
in it's own right and will also make the rest of the series more 'obviously'
correct as you'll always be stripping off the last thing done in remove.

Otherwise, needs some time for others to take a look.

thanks,

Jonathan

> 
> Alexandru Ardelean (4):
>   iio: st_sensors: remove st_sensors_deallocate_trigger() function
>   iio: st_sensors: remove st_sensors_power_disable() function
>   iio: st_sensors: remove all driver remove functions
>   iio: st_sensors: remove reference to parent device object on
>     st_sensor_data
> 
>  drivers/iio/accel/st_accel_core.c             | 32 +++--------
>  drivers/iio/accel/st_accel_i2c.c              | 23 +-------
>  drivers/iio/accel/st_accel_spi.c              | 23 +-------
>  .../iio/common/st_sensors/st_sensors_core.c   | 34 ++++++------
>  .../iio/common/st_sensors/st_sensors_i2c.c    |  1 -
>  .../iio/common/st_sensors/st_sensors_spi.c    |  1 -
>  .../common/st_sensors/st_sensors_trigger.c    | 53 +++++++------------
>  drivers/iio/gyro/st_gyro_core.c               | 27 ++--------
>  drivers/iio/gyro/st_gyro_i2c.c                | 23 +-------
>  drivers/iio/gyro/st_gyro_spi.c                | 23 +-------
>  drivers/iio/imu/st_lsm9ds0/st_lsm9ds0.h       |  1 -
>  drivers/iio/imu/st_lsm9ds0/st_lsm9ds0_core.c  | 17 +-----
>  drivers/iio/imu/st_lsm9ds0/st_lsm9ds0_i2c.c   |  6 ---
>  drivers/iio/imu/st_lsm9ds0/st_lsm9ds0_spi.c   |  6 ---
>  drivers/iio/magnetometer/st_magn_core.c       | 29 ++--------
>  drivers/iio/magnetometer/st_magn_i2c.c        | 23 +-------
>  drivers/iio/magnetometer/st_magn_spi.c        | 23 +-------
>  drivers/iio/pressure/st_pressure_core.c       | 27 ++--------
>  drivers/iio/pressure/st_pressure_i2c.c        | 23 +-------
>  drivers/iio/pressure/st_pressure_spi.c        | 23 +-------
>  include/linux/iio/common/st_sensors.h         | 13 -----
>  21 files changed, 60 insertions(+), 371 deletions(-)
>