On Sun, Aug 7, 2022 at 9:10 PM Jonathan Cameron <jic23@xxxxxxxxxx> wrote: > 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 I like what you done here. Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Yours, Linus Walleij