All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
To: Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
	Mika Westerberg <mika.westerberg@linux.intel.com>,
	Linus Walleij <linus.walleij@linaro.org>,
	Balsam CHIHI <bchihi@baylibre.com>,
	Claudiu Beznea <claudiu.beznea@microchip.com>,
	Geert Uytterhoeven <geert+renesas@glider.be>,
	Wolfram Sang <wsa+renesas@sang-engineering.com>,
	Thierry Reding <thierry.reding@gmail.com>,
	Paul Cercueil <paul@crapouillou.net>,
	linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-mediatek@lists.infradead.org,
	linux-arm-kernel@lists.infradead.org,
	linux-renesas-soc@vger.kernel.org, linux-tegra@vger.kernel.org,
	linux-pm@vger.kernel.org
Cc: Andy Shevchenko <andy@kernel.org>,
	Sean Wang <sean.wang@kernel.org>,
	Matthias Brugger <matthias.bgg@gmail.com>,
	AngeloGioacchino Del Regno 
	<angelogioacchino.delregno@collabora.com>,
	Andrew Lunn <andrew@lunn.ch>,
	Gregory Clement <gregory.clement@bootlin.com>,
	Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>,
	Ludovic Desroches <ludovic.desroches@microchip.com>,
	Nicolas Ferre <nicolas.ferre@microchip.com>,
	Alexandre Belloni <alexandre.belloni@bootlin.com>,
	Jonathan Hunter <jonathanh@nvidia.com>,
	"Rafael J. Wysocki" <rafael@kernel.org>,
	Len Brown <len.brown@intel.com>, Pavel Machek <pavel@ucw.cz>
Subject: [PATCH v2 01/10] pm: Introduce DEFINE_NOIRQ_DEV_PM_OPS() helper
Date: Mon, 17 Jul 2023 20:28:12 +0300	[thread overview]
Message-ID: <20230717172821.62827-2-andriy.shevchenko@linux.intel.com> (raw)
In-Reply-To: <20230717172821.62827-1-andriy.shevchenko@linux.intel.com>

_DEFINE_DEV_PM_OPS() helps to define PM operations for the system sleep
and/or runtime PM cases. Some of the existing users want to have _noirq()
variants to be set. For that purpose introduce a new helper which sets
up _noirq() callbacks to be set and struct dev_pm_ops be provided.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
 include/linux/pm.h | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/include/linux/pm.h b/include/linux/pm.h
index badad7d11f4f..0f19af8d5493 100644
--- a/include/linux/pm.h
+++ b/include/linux/pm.h
@@ -448,6 +448,15 @@ const struct dev_pm_ops __maybe_unused name = { \
 	SET_RUNTIME_PM_OPS(suspend_fn, resume_fn, idle_fn) \
 }
 
+/*
+ * Use this if you want to have the suspend and resume callbacks be called
+ * with disabled IRQs.
+ */
+#define DEFINE_NOIRQ_DEV_PM_OPS(name, suspend_fn, resume_fn) \
+const struct dev_pm_ops name = { \
+	NOIRQ_SYSTEM_SLEEP_PM_OPS(suspend_fn, resume_fn) \
+}
+
 #define pm_ptr(_ptr) PTR_IF(IS_ENABLED(CONFIG_PM), (_ptr))
 #define pm_sleep_ptr(_ptr) PTR_IF(IS_ENABLED(CONFIG_PM_SLEEP), (_ptr))
 
-- 
2.40.0.1.gaa8946217a0b


WARNING: multiple messages have this Message-ID (diff)
From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
To: Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
	Mika Westerberg <mika.westerberg@linux.intel.com>,
	Linus Walleij <linus.walleij@linaro.org>,
	Balsam CHIHI <bchihi@baylibre.com>,
	Claudiu Beznea <claudiu.beznea@microchip.com>,
	Geert Uytterhoeven <geert+renesas@glider.be>,
	Wolfram Sang <wsa+renesas@sang-engineering.com>,
	Thierry Reding <thierry.reding@gmail.com>,
	Paul Cercueil <paul@crapouillou.net>,
	linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-mediatek@lists.infradead.org,
	linux-arm-kernel@lists.infradead.org,
	linux-renesas-soc@vger.kernel.org, linux-tegra@vger.kernel.org,
	linux-pm@vger.kernel.org
Cc: Andy Shevchenko <andy@kernel.org>, Andrew Lunn <andrew@lunn.ch>,
	Alexandre Belloni <alexandre.belloni@bootlin.com>,
	Len Brown <len.brown@intel.com>,
	"Rafael J. Wysocki" <rafael@kernel.org>,
	Gregory Clement <gregory.clement@bootlin.com>,
	Sean Wang <sean.wang@kernel.org>,
	Jonathan Hunter <jonathanh@nvidia.com>,
	Ludovic Desroches <ludovic.desroches@microchip.com>,
	Pavel Machek <pavel@ucw.cz>,
	Matthias Brugger <matthias.bgg@gmail.com>,
	Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>,
	AngeloGioacchino Del Regno
	<angelogioacchino.delregno@collabora.com>
Subject: [PATCH v2 01/10] pm: Introduce DEFINE_NOIRQ_DEV_PM_OPS() helper
Date: Mon, 17 Jul 2023 20:28:12 +0300	[thread overview]
Message-ID: <20230717172821.62827-2-andriy.shevchenko@linux.intel.com> (raw)
In-Reply-To: <20230717172821.62827-1-andriy.shevchenko@linux.intel.com>

_DEFINE_DEV_PM_OPS() helps to define PM operations for the system sleep
and/or runtime PM cases. Some of the existing users want to have _noirq()
variants to be set. For that purpose introduce a new helper which sets
up _noirq() callbacks to be set and struct dev_pm_ops be provided.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
 include/linux/pm.h | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/include/linux/pm.h b/include/linux/pm.h
index badad7d11f4f..0f19af8d5493 100644
--- a/include/linux/pm.h
+++ b/include/linux/pm.h
@@ -448,6 +448,15 @@ const struct dev_pm_ops __maybe_unused name = { \
 	SET_RUNTIME_PM_OPS(suspend_fn, resume_fn, idle_fn) \
 }
 
+/*
+ * Use this if you want to have the suspend and resume callbacks be called
+ * with disabled IRQs.
+ */
+#define DEFINE_NOIRQ_DEV_PM_OPS(name, suspend_fn, resume_fn) \
+const struct dev_pm_ops name = { \
+	NOIRQ_SYSTEM_SLEEP_PM_OPS(suspend_fn, resume_fn) \
+}
+
 #define pm_ptr(_ptr) PTR_IF(IS_ENABLED(CONFIG_PM), (_ptr))
 #define pm_sleep_ptr(_ptr) PTR_IF(IS_ENABLED(CONFIG_PM_SLEEP), (_ptr))
 
-- 
2.40.0.1.gaa8946217a0b


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  reply	other threads:[~2023-07-17 17:29 UTC|newest]

Thread overview: 113+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-07-17 17:28 [PATCH v2 00/10] pinctrl: Provide NOIRQ PM helper and use it Andy Shevchenko
2023-07-17 17:28 ` Andy Shevchenko
2023-07-17 17:28 ` Andy Shevchenko [this message]
2023-07-17 17:28   ` [PATCH v2 01/10] pm: Introduce DEFINE_NOIRQ_DEV_PM_OPS() helper Andy Shevchenko
2023-07-17 19:19   ` Paul Cercueil
2023-07-17 19:19     ` Paul Cercueil
2023-07-17 19:25     ` Andy Shevchenko
2023-07-18  9:55   ` Jonathan Cameron
2023-07-18  9:55     ` Jonathan Cameron
2023-07-18 10:01   ` Geert Uytterhoeven
2023-07-20 19:00   ` Rafael J. Wysocki
2023-07-17 17:28 ` [PATCH v2 02/10] pinctrl: baytrail: Make use of pm_ptr() Andy Shevchenko
2023-07-17 17:28   ` Andy Shevchenko
2023-07-17 19:20   ` Paul Cercueil
2023-07-17 19:20     ` Paul Cercueil
2023-07-18  9:53   ` Jonathan Cameron
2023-07-18  9:53     ` Jonathan Cameron
2023-07-18 13:50     ` Andy Shevchenko
2023-07-18 13:50       ` Andy Shevchenko
2023-07-17 17:28 ` [PATCH v2 03/10] pinctrl: cherryview: Switch to use DEFINE_NOIRQ_DEV_PM_OPS() helper Andy Shevchenko
2023-07-17 17:28   ` Andy Shevchenko
2023-07-17 19:21   ` Paul Cercueil
2023-07-17 19:21     ` Paul Cercueil
2023-07-17 19:27     ` Andy Shevchenko
2023-07-17 19:28       ` Paul Cercueil
2023-07-18  9:54   ` Jonathan Cameron
2023-07-18  9:54     ` Jonathan Cameron
2023-07-18 13:51     ` Andy Shevchenko
2023-07-18 13:51       ` Andy Shevchenko
2023-07-17 17:28 ` [PATCH v2 04/10] pinctrl: intel: " Andy Shevchenko
2023-07-17 17:28   ` Andy Shevchenko
2023-07-17 19:02   ` Paul Cercueil
2023-07-17 19:02     ` Paul Cercueil
2023-07-17 19:33     ` Andy Shevchenko
2023-07-17 19:55       ` Paul Cercueil
2023-07-18 12:57         ` Andy Shevchenko
2023-07-18 13:55           ` Paul Cercueil
2023-07-18 10:04   ` Jonathan Cameron
2023-07-18 10:04     ` Jonathan Cameron
2023-07-18 13:53     ` Andy Shevchenko
2023-07-18 13:53       ` Andy Shevchenko
2023-07-19 10:37       ` Jonathan Cameron
2023-07-19 10:37         ` Jonathan Cameron
2023-07-17 17:28 ` [PATCH v2 05/10] pinctrl: lynxpoint: Make use of pm_ptr() Andy Shevchenko
2023-07-17 17:28   ` Andy Shevchenko
2023-07-17 19:23   ` Paul Cercueil
2023-07-17 19:23     ` Paul Cercueil
2023-07-18 10:06   ` Jonathan Cameron
2023-07-18 10:06     ` Jonathan Cameron
2023-07-18 13:55     ` Andy Shevchenko
2023-07-18 13:55       ` Andy Shevchenko
2023-07-17 17:28 ` [PATCH v2 06/10] pinctrl: at91: Switch to use DEFINE_NOIRQ_DEV_PM_OPS() helper Andy Shevchenko
2023-07-17 17:28   ` Andy Shevchenko
2023-07-17 19:25   ` Paul Cercueil
2023-07-17 19:25     ` Paul Cercueil
2023-07-17 19:35     ` Andy Shevchenko
2023-07-18 10:06   ` Jonathan Cameron
2023-07-18 10:06     ` Jonathan Cameron
2023-07-18 14:48   ` claudiu beznea
2023-07-18 14:48     ` claudiu beznea
2023-07-17 17:28 ` [PATCH v2 07/10] pinctrl: mediatek: " Andy Shevchenko
2023-07-17 17:28   ` Andy Shevchenko
2023-07-17 19:06   ` Paul Cercueil
2023-07-17 19:06     ` Paul Cercueil
2023-07-17 19:36     ` Andy Shevchenko
2023-07-17 19:56       ` Paul Cercueil
2023-07-18 12:48         ` Andy Shevchenko
2023-07-18  9:47   ` AngeloGioacchino Del Regno
2023-07-18  9:47     ` AngeloGioacchino Del Regno
2023-07-18 12:46     ` Andy Shevchenko
2023-07-18 10:07   ` Jonathan Cameron
2023-07-18 10:07     ` Jonathan Cameron
2023-07-17 17:28 ` [PATCH v2 08/10] pinctrl: mvebu: " Andy Shevchenko
2023-07-17 17:28   ` Andy Shevchenko
2023-07-17 19:26   ` Paul Cercueil
2023-07-17 19:26     ` Paul Cercueil
2023-07-18 10:08   ` Jonathan Cameron
2023-07-18 10:08     ` Jonathan Cameron
2023-07-17 17:28 ` [PATCH v2 09/10] pinctrl: renesas: " Andy Shevchenko
2023-07-17 17:28   ` Andy Shevchenko
2023-07-17 19:12   ` Paul Cercueil
2023-07-17 19:12     ` Paul Cercueil
2023-07-17 19:38     ` Andy Shevchenko
2023-07-17 19:57       ` Paul Cercueil
2023-07-18 10:05     ` Geert Uytterhoeven
2023-07-18 12:43       ` Andy Shevchenko
2023-07-18 10:01   ` Geert Uytterhoeven
2023-07-18 10:10   ` Jonathan Cameron
2023-07-18 10:10     ` Jonathan Cameron
2023-07-17 17:28 ` [PATCH v2 10/10] pinctrl: tegra: " Andy Shevchenko
2023-07-17 17:28   ` Andy Shevchenko
2023-07-17 19:14   ` Paul Cercueil
2023-07-17 19:14     ` Paul Cercueil
2023-07-17 19:39     ` Andy Shevchenko
2023-07-18  7:45     ` Thierry Reding
2023-07-18  8:42       ` Paul Cercueil
2023-07-18 11:41         ` Thierry Reding
2023-07-18 11:55           ` Paul Cercueil
2023-07-18 12:50             ` Andy Shevchenko
2023-07-18 13:20             ` Thierry Reding
2023-07-18 13:48               ` Paul Cercueil
2023-07-18 12:53         ` Andy Shevchenko
2023-07-18  7:46   ` Thierry Reding
2023-07-18 10:11   ` Jonathan Cameron
2023-07-18 10:11     ` Jonathan Cameron
2023-07-18 11:38     ` Thierry Reding
2023-07-18 11:38       ` Thierry Reding
2023-07-18 12:01       ` Paul Cercueil
2023-07-18 12:01         ` Paul Cercueil
2023-07-18 13:07         ` Thierry Reding
2023-07-18 13:07           ` Thierry Reding
2023-08-21 17:00 ` [PATCH v2 00/10] pinctrl: Provide NOIRQ PM helper and use it Andy Shevchenko
2023-08-21 17:00   ` Andy Shevchenko

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20230717172821.62827-2-andriy.shevchenko@linux.intel.com \
    --to=andriy.shevchenko@linux.intel.com \
    --cc=alexandre.belloni@bootlin.com \
    --cc=andrew@lunn.ch \
    --cc=andy@kernel.org \
    --cc=angelogioacchino.delregno@collabora.com \
    --cc=bchihi@baylibre.com \
    --cc=claudiu.beznea@microchip.com \
    --cc=geert+renesas@glider.be \
    --cc=gregory.clement@bootlin.com \
    --cc=jonathanh@nvidia.com \
    --cc=len.brown@intel.com \
    --cc=linus.walleij@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-gpio@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mediatek@lists.infradead.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=linux-renesas-soc@vger.kernel.org \
    --cc=linux-tegra@vger.kernel.org \
    --cc=ludovic.desroches@microchip.com \
    --cc=matthias.bgg@gmail.com \
    --cc=mika.westerberg@linux.intel.com \
    --cc=nicolas.ferre@microchip.com \
    --cc=paul@crapouillou.net \
    --cc=pavel@ucw.cz \
    --cc=rafael@kernel.org \
    --cc=sean.wang@kernel.org \
    --cc=sebastian.hesselbarth@gmail.com \
    --cc=thierry.reding@gmail.com \
    --cc=wsa+renesas@sang-engineering.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.