On Mon, 22 Aug 2022 11:04:18 +0200 Linus Walleij <linus.walleij@xxxxxxxxxx> wrote: > 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> Unfortunately change of plan because the EXPORT_NS_GPL_DEV_PM_OPS isn't general enough to cover some cases elsewhere. https://lore.kernel.org/all/20220808174107.38676-2-paul@xxxxxxxxxxxxxxx/ I'll switch this series over to being based on that which will be a large enough change that I'll probably not pick up any tags given on this version. Thanks Jonathan > > Yours, > Linus Walleij