[PATCH 0/8] IIO: Where dev_pm_ops rework and namespaces meet.

Jonathan Cameron
2022-02-20T18:08:49Z

From: Jonathan Cameron <Jonathan.Cameron@huawei.com>

Hi All,

As these two activities have been ongoing across IIO at the same time
it was inevitable that there would be drivers were they both interact.
In particularly when we have EXPORT* of struct dev_pm_ops.

This series covers those cases by introducing (in patch 2)
EXPORT_NS[_GPL]_SIMPLE_DEV_PM_OPS() and
EXPORT_NS[_GPL]_RUNTIME_DEV_PM_OPS()
that add a namespace as the final parameter.

In each driver (with the exception of the kxsd9 which was already
using a IIO_KXSD9 namespace) I first move to the new *_PM_OPS()
and pm_[sleep_]_ptr() then in a second patch move to the new
namespaces. Initially I had these two steps done as one patch
per driver but that was harder to follow and broke the rule of
one thing per patch.

All comments welcome.

Thanks,

Jonathan

Jonathan Cameron (8):
iio: chemical: scd30: Export dev_pm_ops instead of suspend() and
resume()
PM: core: Add NS varients of EXPORT[_GPL]_SIMPLE_DEV_PM_OPS and
runtime pm equiv
iio: chemical: scd30: Move symbol exports into IIO_SCD30 namespace
iio:accel:kxsd9: Switch from CONFIG_PM guards to pm_ptr() etc
iio: humidity: hts221: Use EXPORT_SIMPLE_DEV_PM_OPS() to allow
compiler to remove dead code.
iio: humidity: hts221: Move symbol exports into IIO_HTS221 namespace
iio: imu: lsm6dsx: Use new pm_sleep_ptr() and
EXPORT_SIMPLE_DEV_PM_OPS()
iio: imu: lsm6dsx: Move exported symbols to the IIO_LSM6DSX namespace

drivers/iio/accel/kxsd9-i2c.c | 2 +-
drivers/iio/accel/kxsd9-spi.c | 2 +-
drivers/iio/accel/kxsd9.c | 11 ++---------
drivers/iio/chemical/scd30.h | 5 +----
drivers/iio/chemical/scd30_core.c | 10 +++++-----
drivers/iio/chemical/scd30_i2c.c | 3 ++-
drivers/iio/chemical/scd30_serial.c | 3 ++-
drivers/iio/humidity/hts221_core.c | 12 +++++-------
drivers/iio/humidity/hts221_i2c.c | 3 ++-
drivers/iio/humidity/hts221_spi.c | 3 ++-
drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c | 12 +++++-------
drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_i2c.c | 3 ++-
drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_i3c.c | 3 ++-
drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_spi.c | 3 ++-
include/linux/pm.h | 14 +++++++++-----
include/linux/pm_runtime.h | 10 ++++++++--
16 files changed, 51 insertions(+), 48 deletions(-)

--
2.35.1