[PATCH 0/5] PM: Introduce EXPORT_NS_GPL_DEV_PM_OPS() and use cases in IIO.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Input]     [Linux Kernel]     [Linux SCSI]     [X.org]

  Powered by Linux