mbox series

[v2,00/30] mfd: Remove #ifdef guards for PM functions

Message ID 20220808174107.38676-1-paul@crapouillou.net (mailing list archive)
Headers show
Series mfd: Remove #ifdef guards for PM functions | expand

Message

Paul Cercueil Aug. 8, 2022, 5:40 p.m. UTC
Hi Lee,

Here's my revised patchset updated from the feedback I got in V1.
This one is based on the current mfd-next-5.20.

I updated the PM macros in <linux/pm.h> and <linux/pm_runtime.h>, to
make them more versatile. They now allow to conditionally export
arbitrary dev_pm_ops structures. This is used in the "arizona" driver
for instance, which has "noirq" callbacks.

I Cc'd Jonathan, whom might be interested by the PM patch to convert the
IIO drivers to the new PM macros. Lee, if this patchset gets merged to
the MFD tree, could you then create an immutable branch for Jonathan?

Changes:
- [01/30] is new and adds the reworked PM macros.
- [12/30] now only modifies intel_soc_pmic_core.c since Andy updated
          the other file.
- [21/30] uses the new EXPORT_GPL_DEV_PM_OPS() macro instead of the
          trickery that was used before.
- [26/30] removes a CONFIG_PM wrapper around fields in private struct
- [27/30] removes a duplicated "const".
- [30/30] is new, and updates the intel-lpss driver.
- All patches: Reworded the last paragraph, hide the Cc's, remove
               the Cc to Bartlomiej's email address.

Cheers,
-Paul

Paul Cercueil (30):
  pm: Improve EXPORT_*_DEV_PM_OPS macros
  mfd: 88pm80x: Remove #ifdef guards for PM related functions
  mfd: aat2870: Remove #ifdef guards for PM related functions
  mfd: adp5520: Remove #ifdef guards for PM related functions
  mfd: max8925-i2c: Remove #ifdef guards for PM related functions
  mfd: mt6397-irq: Remove #ifdef guards for PM related functions
  mfd: pcf50633: Remove #ifdef guards for PM related functions
  mfd: rc5t583-irq: Remove #ifdef guards for PM related functions
  mfd: stpmic1: Remove #ifdef guards for PM related functions
  mfd: ucb1x00: Remove #ifdef guards for PM related functions
  mfd: 88pm860x: Remove #ifdef guards for PM related functions
  mfd: intel_soc_pmic: Remove #ifdef guards for PM related functions
  mfd: mcp-sa11x0: Remove #ifdef guards for PM related functions
  mfd: sec: Remove #ifdef guards for PM related functions
  mfd: sm501: Remove #ifdef guards for PM related functions
  mfd: tc6387xb: Remove #ifdef guards for PM related functions
  mfd: tps6586x: Remove #ifdef guards for PM related functions
  mfd: wm8994: Remove #ifdef guards for PM related functions
  mfd: max77620: Remove #ifdef guards for PM related functions
  mfd: t7l66xb: Remove #ifdef guards for PM related functions
  mfd: arizona: Remove #ifdef guards for PM related functions
  mfd: max14577: Remove #ifdef guards for PM related functions
  mfd: max77686: Remove #ifdef guards for PM related functions
  mfd: motorola-cpcap: Remove #ifdef guards for PM related functions
  mfd: sprd-sc27xx: Remove #ifdef guards for PM related functions
  mfd: stmfx: Remove #ifdef guards for PM related functions
  mfd: stmpe: Remove #ifdef guards for PM related functions
  mfd: tc3589x: Remove #ifdef guards for PM related functions
  mfd: tc6393xb: Remove #ifdef guards for PM related functions
  mfd: intel-lpss: Remove #ifdef guards for PM related functions

 drivers/mfd/88pm800.c             |  2 +-
 drivers/mfd/88pm805.c             |  2 +-
 drivers/mfd/88pm80x.c             |  5 +----
 drivers/mfd/88pm860x-core.c       |  6 ++---
 drivers/mfd/aat2870-core.c        |  8 +++----
 drivers/mfd/adp5520.c             |  6 ++---
 drivers/mfd/arizona-core.c        | 19 ++++++----------
 drivers/mfd/arizona-i2c.c         |  2 +-
 drivers/mfd/arizona-spi.c         |  2 +-
 drivers/mfd/intel-lpss-acpi.c     |  4 +---
 drivers/mfd/intel-lpss-pci.c      |  4 +---
 drivers/mfd/intel-lpss.c          | 15 ++++++++-----
 drivers/mfd/intel-lpss.h          | 28 +----------------------
 drivers/mfd/intel_soc_pmic_core.c |  8 +++----
 drivers/mfd/max14577.c            |  6 ++---
 drivers/mfd/max77620.c            |  9 +++-----
 drivers/mfd/max77686.c            |  6 ++---
 drivers/mfd/max8925-i2c.c         |  7 +++---
 drivers/mfd/mcp-sa11x0.c          |  6 +----
 drivers/mfd/motorola-cpcap.c      |  6 ++---
 drivers/mfd/mt6397-irq.c          |  6 +----
 drivers/mfd/pcf50633-core.c       | 22 +-----------------
 drivers/mfd/pcf50633-irq.c        | 13 ++++++-----
 drivers/mfd/rc5t583-irq.c         |  7 ++----
 drivers/mfd/sec-core.c            |  7 +++---
 drivers/mfd/sm501.c               | 10 ++-------
 drivers/mfd/sprd-sc27xx-spi.c     |  7 +++---
 drivers/mfd/stmfx.c               |  6 ++---
 drivers/mfd/stmpe-i2c.c           |  4 +---
 drivers/mfd/stmpe-spi.c           |  4 +---
 drivers/mfd/stmpe.c               |  8 ++-----
 drivers/mfd/stpmic1.c             |  6 ++---
 drivers/mfd/t7l66xb.c             |  9 ++------
 drivers/mfd/tc3589x.c             |  7 +++---
 drivers/mfd/tc6387xb.c            |  9 ++------
 drivers/mfd/tc6393xb.c            |  9 ++------
 drivers/mfd/tps6586x.c            |  6 +----
 drivers/mfd/ucb1x00-core.c        |  7 +++---
 drivers/mfd/wm8994-core.c         |  6 ++---
 include/linux/mfd/pcf50633/core.h |  6 ++---
 include/linux/mfd/stmfx.h         |  2 --
 include/linux/pm.h                | 37 +++++++++++++++++++------------
 include/linux/pm_runtime.h        | 20 ++++++++++-------
 43 files changed, 127 insertions(+), 242 deletions(-)

---
Cc: Jonathan Cameron <jic23@kernel.org>
Cc: Rafael J. Wysocki <rafael@kernel.org>
Cc: linux-pm <linux-pm@vger.kernel.org>

Comments

Jonathan Cameron Aug. 13, 2022, 2:50 p.m. UTC | #1
On Mon,  8 Aug 2022 19:40:37 +0200
Paul Cercueil <paul@crapouillou.net> wrote:

> Hi Lee,
> 
> Here's my revised patchset updated from the feedback I got in V1.
> This one is based on the current mfd-next-5.20.
> 
> I updated the PM macros in <linux/pm.h> and <linux/pm_runtime.h>, to
> make them more versatile. They now allow to conditionally export
> arbitrary dev_pm_ops structures. This is used in the "arizona" driver
> for instance, which has "noirq" callbacks.
> 
> I Cc'd Jonathan, whom might be interested by the PM patch to convert the
> IIO drivers to the new PM macros. Lee, if this patchset gets merged to
> the MFD tree, could you then create an immutable branch for Jonathan?

That would be much appreciated. Ideally the immutable branch would just
contain patch 1.  If it doesn't work out that way I can always pick up
the half dozen cases that would use the new infrastructure next cycle.

Thanks!

Jonathan
> 
> Changes:
> - [01/30] is new and adds the reworked PM macros.
> - [12/30] now only modifies intel_soc_pmic_core.c since Andy updated
>           the other file.
> - [21/30] uses the new EXPORT_GPL_DEV_PM_OPS() macro instead of the
>           trickery that was used before.
> - [26/30] removes a CONFIG_PM wrapper around fields in private struct
> - [27/30] removes a duplicated "const".
> - [30/30] is new, and updates the intel-lpss driver.
> - All patches: Reworded the last paragraph, hide the Cc's, remove
>                the Cc to Bartlomiej's email address.
> 
> Cheers,
> -Paul
> 
> Paul Cercueil (30):
>   pm: Improve EXPORT_*_DEV_PM_OPS macros
>   mfd: 88pm80x: Remove #ifdef guards for PM related functions
>   mfd: aat2870: Remove #ifdef guards for PM related functions
>   mfd: adp5520: Remove #ifdef guards for PM related functions
>   mfd: max8925-i2c: Remove #ifdef guards for PM related functions
>   mfd: mt6397-irq: Remove #ifdef guards for PM related functions
>   mfd: pcf50633: Remove #ifdef guards for PM related functions
>   mfd: rc5t583-irq: Remove #ifdef guards for PM related functions
>   mfd: stpmic1: Remove #ifdef guards for PM related functions
>   mfd: ucb1x00: Remove #ifdef guards for PM related functions
>   mfd: 88pm860x: Remove #ifdef guards for PM related functions
>   mfd: intel_soc_pmic: Remove #ifdef guards for PM related functions
>   mfd: mcp-sa11x0: Remove #ifdef guards for PM related functions
>   mfd: sec: Remove #ifdef guards for PM related functions
>   mfd: sm501: Remove #ifdef guards for PM related functions
>   mfd: tc6387xb: Remove #ifdef guards for PM related functions
>   mfd: tps6586x: Remove #ifdef guards for PM related functions
>   mfd: wm8994: Remove #ifdef guards for PM related functions
>   mfd: max77620: Remove #ifdef guards for PM related functions
>   mfd: t7l66xb: Remove #ifdef guards for PM related functions
>   mfd: arizona: Remove #ifdef guards for PM related functions
>   mfd: max14577: Remove #ifdef guards for PM related functions
>   mfd: max77686: Remove #ifdef guards for PM related functions
>   mfd: motorola-cpcap: Remove #ifdef guards for PM related functions
>   mfd: sprd-sc27xx: Remove #ifdef guards for PM related functions
>   mfd: stmfx: Remove #ifdef guards for PM related functions
>   mfd: stmpe: Remove #ifdef guards for PM related functions
>   mfd: tc3589x: Remove #ifdef guards for PM related functions
>   mfd: tc6393xb: Remove #ifdef guards for PM related functions
>   mfd: intel-lpss: Remove #ifdef guards for PM related functions
> 
>  drivers/mfd/88pm800.c             |  2 +-
>  drivers/mfd/88pm805.c             |  2 +-
>  drivers/mfd/88pm80x.c             |  5 +----
>  drivers/mfd/88pm860x-core.c       |  6 ++---
>  drivers/mfd/aat2870-core.c        |  8 +++----
>  drivers/mfd/adp5520.c             |  6 ++---
>  drivers/mfd/arizona-core.c        | 19 ++++++----------
>  drivers/mfd/arizona-i2c.c         |  2 +-
>  drivers/mfd/arizona-spi.c         |  2 +-
>  drivers/mfd/intel-lpss-acpi.c     |  4 +---
>  drivers/mfd/intel-lpss-pci.c      |  4 +---
>  drivers/mfd/intel-lpss.c          | 15 ++++++++-----
>  drivers/mfd/intel-lpss.h          | 28 +----------------------
>  drivers/mfd/intel_soc_pmic_core.c |  8 +++----
>  drivers/mfd/max14577.c            |  6 ++---
>  drivers/mfd/max77620.c            |  9 +++-----
>  drivers/mfd/max77686.c            |  6 ++---
>  drivers/mfd/max8925-i2c.c         |  7 +++---
>  drivers/mfd/mcp-sa11x0.c          |  6 +----
>  drivers/mfd/motorola-cpcap.c      |  6 ++---
>  drivers/mfd/mt6397-irq.c          |  6 +----
>  drivers/mfd/pcf50633-core.c       | 22 +-----------------
>  drivers/mfd/pcf50633-irq.c        | 13 ++++++-----
>  drivers/mfd/rc5t583-irq.c         |  7 ++----
>  drivers/mfd/sec-core.c            |  7 +++---
>  drivers/mfd/sm501.c               | 10 ++-------
>  drivers/mfd/sprd-sc27xx-spi.c     |  7 +++---
>  drivers/mfd/stmfx.c               |  6 ++---
>  drivers/mfd/stmpe-i2c.c           |  4 +---
>  drivers/mfd/stmpe-spi.c           |  4 +---
>  drivers/mfd/stmpe.c               |  8 ++-----
>  drivers/mfd/stpmic1.c             |  6 ++---
>  drivers/mfd/t7l66xb.c             |  9 ++------
>  drivers/mfd/tc3589x.c             |  7 +++---
>  drivers/mfd/tc6387xb.c            |  9 ++------
>  drivers/mfd/tc6393xb.c            |  9 ++------
>  drivers/mfd/tps6586x.c            |  6 +----
>  drivers/mfd/ucb1x00-core.c        |  7 +++---
>  drivers/mfd/wm8994-core.c         |  6 ++---
>  include/linux/mfd/pcf50633/core.h |  6 ++---
>  include/linux/mfd/stmfx.h         |  2 --
>  include/linux/pm.h                | 37 +++++++++++++++++++------------
>  include/linux/pm_runtime.h        | 20 ++++++++++-------
>  43 files changed, 127 insertions(+), 242 deletions(-)
> 
> ---
> Cc: Jonathan Cameron <jic23@kernel.org>
> Cc: Rafael J. Wysocki <rafael@kernel.org>
> Cc: linux-pm <linux-pm@vger.kernel.org>