From: Jonathan Cameron <Jonathan.Cameron@xxxxxxxxxx> Perhaps the most complex case we can have is a core driver module (usually with accompanying per bus modules) that exports, in a namespace, a struct dev_pm_ops. The driver has different handling for runtime and sleep suspend / resume so (almost) all callbacks are provided. The pm.h helper macro _EXPORT_DEV_PM_OPS() could be used here but the handling of the last two parameters is unusual and very different from the macros intended for driver usage. First parameter needs to be "_gpl" and second needs to be the namespace specified as a string. Other NS macros take it without quotes. As such, this series proposes introducing a suitable macro and then provides a number of IIO driver conversions. Where relevant the exports from the driver are moved into the new namespace. If accepted we can either take the whole lot through the PM tree and hope there is nothing much else overlapping with this driver code in this cycle, or ideally we could use an immutable branch and pull this into both the IIO and PM trees. Jonathan Cameron (5): PM: core: Add EXPORT_NS_GPL_DEV_PM_OPS to avoid drivers rolling own. iio: accel: fxls8962af: Use new EXPORT_NS_GPL_DEV_PM_OPS() iio: gyro: fxas210002c: Move exports to IIO_FXAS210002C namespace. iio: imu: inv_icm42600: Move exports to IIO_ICM42600 namespace iio: imu: inv_mpu: Move exports to IIO_MPU6050 namespace drivers/iio/accel/fxls8962af-core.c | 17 +++++++-------- drivers/iio/accel/fxls8962af-i2c.c | 2 +- drivers/iio/accel/fxls8962af-spi.c | 2 +- drivers/iio/gyro/fxas21002c_core.c | 21 ++++++++----------- drivers/iio/gyro/fxas21002c_i2c.c | 3 ++- drivers/iio/gyro/fxas21002c_spi.c | 3 ++- .../iio/imu/inv_icm42600/inv_icm42600_core.c | 21 ++++++++----------- .../iio/imu/inv_icm42600/inv_icm42600_i2c.c | 3 ++- .../iio/imu/inv_icm42600/inv_icm42600_spi.c | 3 ++- drivers/iio/imu/inv_mpu6050/inv_mpu_core.c | 18 +++++++--------- drivers/iio/imu/inv_mpu6050/inv_mpu_i2c.c | 3 ++- drivers/iio/imu/inv_mpu6050/inv_mpu_spi.c | 3 ++- include/linux/pm.h | 5 +++++ 13 files changed, 52 insertions(+), 52 deletions(-) -- 2.37.1