All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dmitry Osipenko <digetx@gmail.com>
To: Thierry Reding <thierry.reding@gmail.com>,
	Jonathan Hunter <jonathanh@nvidia.com>,
	Lee Jones <lee.jones@linaro.org>,
	"Rafael J . Wysocki" <rafael@kernel.org>,
	Mark Brown <broonie@kernel.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	Guenter Roeck <linux@roeck-us.net>,
	Russell King <linux@armlinux.org.uk>,
	Daniel Lezcano <daniel.lezcano@linaro.org>,
	Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
	Ulf Hansson <ulf.hansson@linaro.org>
Cc: "Catalin Marinas" <catalin.marinas@arm.com>,
	"Will Deacon" <will@kernel.org>, "Guo Ren" <guoren@kernel.org>,
	"Geert Uytterhoeven" <geert@linux-m68k.org>,
	"Greg Ungerer" <gerg@linux-m68k.org>,
	"Joshua Thompson" <funaho@jurai.org>,
	"Thomas Bogendoerfer" <tsbogend@alpha.franken.de>,
	"Nick Hu" <nickhu@andestech.com>,
	"Greentime Hu" <green.hu@gmail.com>,
	"Vincent Chen" <deanbo422@gmail.com>,
	"James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>,
	"Helge Deller" <deller@gmx.de>,
	"Michael Ellerman" <mpe@ellerman.id.au>,
	"Benjamin Herrenschmidt" <benh@kernel.crashing.org>,
	"Paul Mackerras" <paulus@samba.org>,
	"Paul Walmsley" <paul.walmsley@sifive.com>,
	"Palmer Dabbelt" <palmer@dabbelt.com>,
	"Albert Ou" <aou@eecs.berkeley.edu>,
	"Yoshinori Sato" <ysato@users.sourceforge.jp>,
	"Rich Felker" <dalias@libc.org>,
	"Thomas Gleixner" <tglx@linutronix.de>,
	"Ingo Molnar" <mingo@redhat.com>,
	"Borislav Petkov" <bp@alien8.de>,
	"Dave Hansen" <dave.hansen@linux.intel.com>,
	x86@kernel.org, "H. Peter Anvin" <hpa@zytor.com>,
	"Boris Ostrovsky" <boris.ostrovsky@oracle.com>,
	"Juergen Gross" <jgross@suse.com>,
	"Stefano Stabellini" <sstabellini@kernel.org>,
	"Len Brown" <lenb@kernel.org>,
	"Santosh Shilimkar" <ssantosh@kernel.org>,
	"Krzysztof Kozlowski" <krzysztof.kozlowski@canonical.com>,
	"Linus Walleij" <linus.walleij@linaro.org>,
	"Chen-Yu Tsai" <wens@csie.org>,
	"Jonathan Neuschäfer" <j.neuschaefer@gmx.net>,
	"Tony Lindgren" <tony@atomide.com>,
	"Liam Girdwood" <lgirdwood@gmail.com>,
	"Philipp Zabel" <p.zabel@pengutronix.de>,
	"Vladimir Zapolskiy" <vz@mleia.com>,
	"Avi Fishman" <avifishman70@gmail.com>,
	"Tomer Maimon" <tmaimon77@gmail.com>,
	"Tali Perry" <tali.perry1@gmail.com>,
	"Patrick Venture" <venture@google.com>,
	"Nancy Yuen" <yuenn@google.com>,
	"Benjamin Fair" <benjaminfair@google.com>,
	"Pavel Machek" <pavel@ucw.cz>,
	linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org, linux-csky@vger.kernel.org,
	linux-ia64@vger.kernel.org, linux-m68k@lists.linux-m68k.org,
	linux-mips@vger.kernel.org, linux-parisc@vger.kernel.org,
	linuxppc-dev@lists.ozlabs.org, linux-riscv@lists.infradead.org,
	linux-sh@vger.kernel.org, xen-devel@lists.xenproject.org,
	linux-acpi@vger.kernel.org, linux-omap@vger.kernel.org,
	openbmc@lists.ozlabs.org, linux-tegra@vger.kernel.org,
	linux-pm@vger.kernel.org
Subject: [PATCH v2 24/45] regulator: pfuze100: Use devm_register_power_handler()
Date: Thu, 28 Oct 2021 00:16:54 +0300	[thread overview]
Message-ID: <20211027211715.12671-25-digetx@gmail.com> (raw)
In-Reply-To: <20211027211715.12671-1-digetx@gmail.com>

Use devm_register_power_handler() that replaces global pm_power_off_prepare
variable and allows to register multiple power-off handlers.

Signed-off-by: Dmitry Osipenko <digetx@gmail.com>
---
 drivers/regulator/pfuze100-regulator.c | 39 ++++++++++----------------
 1 file changed, 15 insertions(+), 24 deletions(-)

diff --git a/drivers/regulator/pfuze100-regulator.c b/drivers/regulator/pfuze100-regulator.c
index d60d7d1b7fa2..73d5baf9d3ea 100644
--- a/drivers/regulator/pfuze100-regulator.c
+++ b/drivers/regulator/pfuze100-regulator.c
@@ -10,6 +10,7 @@
 #include <linux/of_device.h>
 #include <linux/regulator/of_regulator.h>
 #include <linux/platform_device.h>
+#include <linux/reboot.h>
 #include <linux/regulator/driver.h>
 #include <linux/regulator/machine.h>
 #include <linux/regulator/pfuze100.h>
@@ -76,6 +77,7 @@ struct pfuze_chip {
 	struct pfuze_regulator regulator_descs[PFUZE100_MAX_REGULATOR];
 	struct regulator_dev *regulators[PFUZE100_MAX_REGULATOR];
 	struct pfuze_regulator *pfuze_regulators;
+	struct power_handler power_handler;
 };
 
 static const int pfuze100_swbst[] = {
@@ -569,10 +571,10 @@ static inline struct device_node *match_of_node(int index)
 	return pfuze_matches[index].of_node;
 }
 
-static struct pfuze_chip *syspm_pfuze_chip;
-
-static void pfuze_power_off_prepare(void)
+static void pfuze_power_off_prepare(struct power_off_prep_data *data)
 {
+	struct pfuze_chip *syspm_pfuze_chip = data->cb_data;
+
 	dev_info(syspm_pfuze_chip->dev, "Configure standby mode for power off");
 
 	/* Switch from default mode: APS/APS to APS/Off */
@@ -611,24 +613,24 @@ static void pfuze_power_off_prepare(void)
 
 static int pfuze_power_off_prepare_init(struct pfuze_chip *pfuze_chip)
 {
+	int err;
+
 	if (pfuze_chip->chip_id != PFUZE100) {
 		dev_warn(pfuze_chip->dev, "Requested pm_power_off_prepare handler for not supported chip\n");
 		return -ENODEV;
 	}
 
-	if (pm_power_off_prepare) {
-		dev_warn(pfuze_chip->dev, "pm_power_off_prepare is already registered.\n");
-		return -EBUSY;
-	}
+	pfuze_chip->power_handler.power_off_prepare_cb = pfuze_power_off_prepare;
+	pfuze_chip->power_handler.cb_data = pfuze_chip;
 
-	if (syspm_pfuze_chip) {
-		dev_warn(pfuze_chip->dev, "syspm_pfuze_chip is already set.\n");
-		return -EBUSY;
+	err = devm_register_power_handler(pfuze_chip->dev,
+					  &pfuze_chip->power_handler);
+	if (err) {
+		dev_err(pfuze_chip->dev,
+			"failed to register power handler: %d\n", err);
+		return err;
 	}
 
-	syspm_pfuze_chip = pfuze_chip;
-	pm_power_off_prepare = pfuze_power_off_prepare;
-
 	return 0;
 }
 
@@ -837,23 +839,12 @@ static int pfuze100_regulator_probe(struct i2c_client *client,
 	return 0;
 }
 
-static int pfuze100_regulator_remove(struct i2c_client *client)
-{
-	if (syspm_pfuze_chip) {
-		syspm_pfuze_chip = NULL;
-		pm_power_off_prepare = NULL;
-	}
-
-	return 0;
-}
-
 static struct i2c_driver pfuze_driver = {
 	.driver = {
 		.name = "pfuze100-regulator",
 		.of_match_table = pfuze_dt_ids,
 	},
 	.probe = pfuze100_regulator_probe,
-	.remove = pfuze100_regulator_remove,
 };
 module_i2c_driver(pfuze_driver);
 
-- 
2.33.1


WARNING: multiple messages have this Message-ID (diff)
From: Dmitry Osipenko <digetx@gmail.com>
To: Thierry Reding <thierry.reding@gmail.com>,
	Jonathan Hunter <jonathanh@nvidia.com>,
	Lee Jones <lee.jones@linaro.org>,
	"Rafael J . Wysocki" <rafael@kernel.org>,
	Mark Brown <broonie@kernel.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	Guenter Roeck <linux@roeck-us.net>,
	Russell King <linux@armlinux.org.uk>,
	Daniel Lezcano <daniel.lezcano@linaro.org>,
	Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
	Ulf Hansson <ulf.hansson@linaro.org>
Cc: "Catalin Marinas" <catalin.marinas@arm.com>,
	"Will Deacon" <will@kernel.org>, "Guo Ren" <guoren@kernel.org>,
	"Geert Uytterhoeven" <geert@linux-m68k.org>,
	"Greg Ungerer" <gerg@linux-m68k.org>,
	"Joshua Thompson" <funaho@jurai.org>,
	"Thomas Bogendoerfer" <tsbogend@alpha.franken.de>,
	"Nick Hu" <nickhu@andestech.com>,
	"Greentime Hu" <green.hu@gmail.com>,
	"Vincent Chen" <deanbo422@gmail.com>,
	"James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>,
	"Helge Deller" <deller@gmx.de>,
	"Michael Ellerman" <mpe@ellerman.id.au>,
	"Benjamin Herrenschmidt" <benh@kernel.crashing.org>,
	"Paul Mackerras" <paulus@samba.org>,
	"Paul Walmsley" <paul.walmsley@sifive.com>,
	"Palmer Dabbelt" <palmer@dabbelt.com>,
	"Albert Ou" <aou@eecs.berkeley.edu>,
	"Yoshinori Sato" <ysato@users.sourceforge.jp>,
	"Rich Felker" <dalias@libc.org>,
	"Thomas Gleixner" <tglx@linutronix.de>,
	"Ingo Molnar" <mingo@redhat.com>,
	"Borislav Petkov" <bp@alien8.de>,
	"Dave Hansen" <dave.hansen@linux.intel.com>,
	x86@kernel.org, "H. Peter Anvin" <hpa@zytor.com>,
	"Boris Ostrovsky" <boris.ostrovsky@oracle.com>,
	"Juergen Gross" <jgross@suse.com>,
	"Stefano Stabellini" <sstabellini@kernel.org>,
	"Len Brown" <lenb@kernel.org>,
	"Santosh Shilimkar" <ssantosh@kernel.org>,
	"Krzysztof Kozlowski" <krzysztof.kozlowski@canonical.com>,
	"Linus Walleij" <linus.walleij@linaro.org>,
	"Chen-Yu Tsai" <wens@csie.org>,
	"Jonathan Neuschäfer" <j.neuschaefer@gmx.net>,
	"Tony Lindgren" <tony@atomide.com>,
	"Liam Girdwood" <lgirdwood@gmail.com>,
	"Philipp Zabel" <p.zabel@pengutronix.de>,
	"Vladimir Zapolskiy" <vz@mleia.com>,
	"Avi Fishman" <avifishman70@gmail.com>,
	"Tomer Maimon" <tmaimon77@gmail.com>,
	"Tali Perry" <tali.perry1@gmail.com>,
	"Patrick Venture" <venture@google.com>,
	"Nancy Yuen" <yuenn@google.com>,
	"Benjamin Fair" <benjaminfair@google.com>,
	"Pavel Machek" <pavel@ucw.cz>,
	linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org, linux-csky@vger.kernel.org,
	linux-ia64@vger.kernel.org, linux-m68k@lists.linux-m68k.org,
	linux-mips@vger.kernel.org, linux-parisc@vger.kernel.org,
	linuxppc-dev@lists.ozlabs.org, linux-riscv@lists.infradead.org,
	linux-sh@vger.kernel.org, xen-devel@lists.xenproject.org,
	linux-acpi@vger.kernel.org, linux-omap@vger.kernel.org,
	openbmc@lists.ozlabs.org, linux-tegra@vger.kernel.org,
	linux-pm@vger.kernel.org
Subject: [PATCH v2 24/45] regulator: pfuze100: Use devm_register_power_handler()
Date: Thu, 28 Oct 2021 00:16:54 +0300	[thread overview]
Message-ID: <20211027211715.12671-25-digetx@gmail.com> (raw)
In-Reply-To: <20211027211715.12671-1-digetx@gmail.com>

Use devm_register_power_handler() that replaces global pm_power_off_prepare
variable and allows to register multiple power-off handlers.

Signed-off-by: Dmitry Osipenko <digetx@gmail.com>
---
 drivers/regulator/pfuze100-regulator.c | 39 ++++++++++----------------
 1 file changed, 15 insertions(+), 24 deletions(-)

diff --git a/drivers/regulator/pfuze100-regulator.c b/drivers/regulator/pfuze100-regulator.c
index d60d7d1b7fa2..73d5baf9d3ea 100644
--- a/drivers/regulator/pfuze100-regulator.c
+++ b/drivers/regulator/pfuze100-regulator.c
@@ -10,6 +10,7 @@
 #include <linux/of_device.h>
 #include <linux/regulator/of_regulator.h>
 #include <linux/platform_device.h>
+#include <linux/reboot.h>
 #include <linux/regulator/driver.h>
 #include <linux/regulator/machine.h>
 #include <linux/regulator/pfuze100.h>
@@ -76,6 +77,7 @@ struct pfuze_chip {
 	struct pfuze_regulator regulator_descs[PFUZE100_MAX_REGULATOR];
 	struct regulator_dev *regulators[PFUZE100_MAX_REGULATOR];
 	struct pfuze_regulator *pfuze_regulators;
+	struct power_handler power_handler;
 };
 
 static const int pfuze100_swbst[] = {
@@ -569,10 +571,10 @@ static inline struct device_node *match_of_node(int index)
 	return pfuze_matches[index].of_node;
 }
 
-static struct pfuze_chip *syspm_pfuze_chip;
-
-static void pfuze_power_off_prepare(void)
+static void pfuze_power_off_prepare(struct power_off_prep_data *data)
 {
+	struct pfuze_chip *syspm_pfuze_chip = data->cb_data;
+
 	dev_info(syspm_pfuze_chip->dev, "Configure standby mode for power off");
 
 	/* Switch from default mode: APS/APS to APS/Off */
@@ -611,24 +613,24 @@ static void pfuze_power_off_prepare(void)
 
 static int pfuze_power_off_prepare_init(struct pfuze_chip *pfuze_chip)
 {
+	int err;
+
 	if (pfuze_chip->chip_id != PFUZE100) {
 		dev_warn(pfuze_chip->dev, "Requested pm_power_off_prepare handler for not supported chip\n");
 		return -ENODEV;
 	}
 
-	if (pm_power_off_prepare) {
-		dev_warn(pfuze_chip->dev, "pm_power_off_prepare is already registered.\n");
-		return -EBUSY;
-	}
+	pfuze_chip->power_handler.power_off_prepare_cb = pfuze_power_off_prepare;
+	pfuze_chip->power_handler.cb_data = pfuze_chip;
 
-	if (syspm_pfuze_chip) {
-		dev_warn(pfuze_chip->dev, "syspm_pfuze_chip is already set.\n");
-		return -EBUSY;
+	err = devm_register_power_handler(pfuze_chip->dev,
+					  &pfuze_chip->power_handler);
+	if (err) {
+		dev_err(pfuze_chip->dev,
+			"failed to register power handler: %d\n", err);
+		return err;
 	}
 
-	syspm_pfuze_chip = pfuze_chip;
-	pm_power_off_prepare = pfuze_power_off_prepare;
-
 	return 0;
 }
 
@@ -837,23 +839,12 @@ static int pfuze100_regulator_probe(struct i2c_client *client,
 	return 0;
 }
 
-static int pfuze100_regulator_remove(struct i2c_client *client)
-{
-	if (syspm_pfuze_chip) {
-		syspm_pfuze_chip = NULL;
-		pm_power_off_prepare = NULL;
-	}
-
-	return 0;
-}
-
 static struct i2c_driver pfuze_driver = {
 	.driver = {
 		.name = "pfuze100-regulator",
 		.of_match_table = pfuze_dt_ids,
 	},
 	.probe = pfuze100_regulator_probe,
-	.remove = pfuze100_regulator_remove,
 };
 module_i2c_driver(pfuze_driver);
 
-- 
2.33.1


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

WARNING: multiple messages have this Message-ID (diff)
From: Dmitry Osipenko <digetx@gmail.com>
To: Thierry Reding <thierry.reding@gmail.com>,
	Jonathan Hunter <jonathanh@nvidia.com>,
	Lee Jones <lee.jones@linaro.org>,
	"Rafael J . Wysocki" <rafael@kernel.org>,
	Mark Brown <broonie@kernel.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	Guenter Roeck <linux@roeck-us.net>,
	Russell King <linux@armlinux.org.uk>,
	Daniel Lezcano <daniel.lezcano@linaro.org>,
	Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
	Ulf Hansson <ulf.hansson@linaro.org>
Cc: "Rich Felker" <dalias@libc.org>,
	linux-ia64@vger.kernel.org, "Tomer Maimon" <tmaimon77@gmail.com>,
	"Santosh Shilimkar" <ssantosh@kernel.org>,
	linux-sh@vger.kernel.org,
	"Boris Ostrovsky" <boris.ostrovsky@oracle.com>,
	"Linus Walleij" <linus.walleij@linaro.org>,
	"Dave Hansen" <dave.hansen@linux.intel.com>,
	linux-acpi@vger.kernel.org, "Tali Perry" <tali.perry1@gmail.com>,
	"James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>,
	"Paul Mackerras" <paulus@samba.org>,
	"Pavel Machek" <pavel@ucw.cz>, "H. Peter Anvin" <hpa@zytor.com>,
	linux-riscv@lists.infradead.org,
	"Vincent Chen" <deanbo422@gmail.com>,
	"Will Deacon" <will@kernel.org>,
	"Greg Ungerer" <gerg@linux-m68k.org>,
	"Stefano Stabellini" <sstabellini@kernel.org>,
	"Benjamin Fair" <benjaminfair@google.com>,
	"Yoshinori Sato" <ysato@users.sourceforge.jp>,
	"Krzysztof Kozlowski" <krzysztof.kozlowski@canonical.com>,
	"Helge Deller" <deller@gmx.de>,
	x86@kernel.org, linux-csky@vger.kernel.org,
	"Tony Lindgren" <tony@atomide.com>,
	"Chen-Yu Tsai" <wens@csie.org>, "Ingo Molnar" <mingo@redhat.com>,
	"Geert Uytterhoeven" <geert@linux-m68k.org>,
	"Catalin Marinas" <catalin.marinas@arm.com>,
	xen-devel@lists.xenproject.org, linux-mips@vger.kernel.org,
	"Len Brown" <lenb@kernel.org>,
	"Albert Ou" <aou@eecs.berkeley.edu>,
	linux-pm@vger.kernel.org,
	"Jonathan Neuschäfer" <j.neuschaefer@gmx.net>,
	"Vladimir Zapolskiy" <vz@mleia.com>,
	linux-m68k@lists.linux-m68k.org, "Borislav Petkov" <bp@alien8.de>,
	"Greentime Hu" <green.hu@gmail.com>,
	"Paul Walmsley" <paul.walmsley@sifive.com>,
	linux-tegra@vger.kernel.org,
	"Thomas Gleixner" <tglx@linutronix.de>,
	linux-omap@vger.kernel.org, "Nancy Yuen" <yuenn@google.com>,
	linux-arm-kernel@lists.infradead.org,
	"Juergen Gross" <jgross@suse.com>,
	"Thomas Bogendoerfer" <tsbogend@alpha.franken.de>,
	linux-parisc@vger.kernel.org, "Nick Hu" <nickhu@andestech.com>,
	"Avi Fishman" <avifishman70@gmail.com>,
	"Patrick Venture" <venture@google.com>,
	"Liam Girdwood" <lgirdwood@gmail.com>,
	linux-kernel@vger.kernel.org,
	"Palmer Dabbelt" <palmer@dabbelt.com>,
	"Philipp Zabel" <p.zabel@pengutronix.de>,
	"Guo Ren" <guoren@kernel.org>,
	linuxppc-dev@lists.ozlabs.org, openbmc@lists.ozlabs.org,
	"Joshua Thompson" <funaho@jurai.org>
Subject: [PATCH v2 24/45] regulator: pfuze100: Use devm_register_power_handler()
Date: Thu, 28 Oct 2021 00:16:54 +0300	[thread overview]
Message-ID: <20211027211715.12671-25-digetx@gmail.com> (raw)
In-Reply-To: <20211027211715.12671-1-digetx@gmail.com>

Use devm_register_power_handler() that replaces global pm_power_off_prepare
variable and allows to register multiple power-off handlers.

Signed-off-by: Dmitry Osipenko <digetx@gmail.com>
---
 drivers/regulator/pfuze100-regulator.c | 39 ++++++++++----------------
 1 file changed, 15 insertions(+), 24 deletions(-)

diff --git a/drivers/regulator/pfuze100-regulator.c b/drivers/regulator/pfuze100-regulator.c
index d60d7d1b7fa2..73d5baf9d3ea 100644
--- a/drivers/regulator/pfuze100-regulator.c
+++ b/drivers/regulator/pfuze100-regulator.c
@@ -10,6 +10,7 @@
 #include <linux/of_device.h>
 #include <linux/regulator/of_regulator.h>
 #include <linux/platform_device.h>
+#include <linux/reboot.h>
 #include <linux/regulator/driver.h>
 #include <linux/regulator/machine.h>
 #include <linux/regulator/pfuze100.h>
@@ -76,6 +77,7 @@ struct pfuze_chip {
 	struct pfuze_regulator regulator_descs[PFUZE100_MAX_REGULATOR];
 	struct regulator_dev *regulators[PFUZE100_MAX_REGULATOR];
 	struct pfuze_regulator *pfuze_regulators;
+	struct power_handler power_handler;
 };
 
 static const int pfuze100_swbst[] = {
@@ -569,10 +571,10 @@ static inline struct device_node *match_of_node(int index)
 	return pfuze_matches[index].of_node;
 }
 
-static struct pfuze_chip *syspm_pfuze_chip;
-
-static void pfuze_power_off_prepare(void)
+static void pfuze_power_off_prepare(struct power_off_prep_data *data)
 {
+	struct pfuze_chip *syspm_pfuze_chip = data->cb_data;
+
 	dev_info(syspm_pfuze_chip->dev, "Configure standby mode for power off");
 
 	/* Switch from default mode: APS/APS to APS/Off */
@@ -611,24 +613,24 @@ static void pfuze_power_off_prepare(void)
 
 static int pfuze_power_off_prepare_init(struct pfuze_chip *pfuze_chip)
 {
+	int err;
+
 	if (pfuze_chip->chip_id != PFUZE100) {
 		dev_warn(pfuze_chip->dev, "Requested pm_power_off_prepare handler for not supported chip\n");
 		return -ENODEV;
 	}
 
-	if (pm_power_off_prepare) {
-		dev_warn(pfuze_chip->dev, "pm_power_off_prepare is already registered.\n");
-		return -EBUSY;
-	}
+	pfuze_chip->power_handler.power_off_prepare_cb = pfuze_power_off_prepare;
+	pfuze_chip->power_handler.cb_data = pfuze_chip;
 
-	if (syspm_pfuze_chip) {
-		dev_warn(pfuze_chip->dev, "syspm_pfuze_chip is already set.\n");
-		return -EBUSY;
+	err = devm_register_power_handler(pfuze_chip->dev,
+					  &pfuze_chip->power_handler);
+	if (err) {
+		dev_err(pfuze_chip->dev,
+			"failed to register power handler: %d\n", err);
+		return err;
 	}
 
-	syspm_pfuze_chip = pfuze_chip;
-	pm_power_off_prepare = pfuze_power_off_prepare;
-
 	return 0;
 }
 
@@ -837,23 +839,12 @@ static int pfuze100_regulator_probe(struct i2c_client *client,
 	return 0;
 }
 
-static int pfuze100_regulator_remove(struct i2c_client *client)
-{
-	if (syspm_pfuze_chip) {
-		syspm_pfuze_chip = NULL;
-		pm_power_off_prepare = NULL;
-	}
-
-	return 0;
-}
-
 static struct i2c_driver pfuze_driver = {
 	.driver = {
 		.name = "pfuze100-regulator",
 		.of_match_table = pfuze_dt_ids,
 	},
 	.probe = pfuze100_regulator_probe,
-	.remove = pfuze100_regulator_remove,
 };
 module_i2c_driver(pfuze_driver);
 
-- 
2.33.1


WARNING: multiple messages have this Message-ID (diff)
From: Dmitry Osipenko <digetx@gmail.com>
To: Thierry Reding <thierry.reding@gmail.com>,
	Jonathan Hunter <jonathanh@nvidia.com>,
	Lee Jones <lee.jones@linaro.org>,
	"Rafael J . Wysocki" <rafael@kernel.org>,
	Mark Brown <broonie@kernel.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	Guenter Roeck <linux@roeck-us.net>,
	Russell King <linux@armlinux.org.uk>,
	Daniel Lezcano <daniel.lezcano@linaro.org>,
	Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
	Ulf Hansson <ulf.hansson@linaro.org>
Cc: "Catalin Marinas" <catalin.marinas@arm.com>,
	"Will Deacon" <will@kernel.org>, "Guo Ren" <guoren@kernel.org>,
	"Geert Uytterhoeven" <geert@linux-m68k.org>,
	"Greg Ungerer" <gerg@linux-m68k.org>,
	"Joshua Thompson" <funaho@jurai.org>,
	"Thomas Bogendoerfer" <tsbogend@alpha.franken.de>,
	"Nick Hu" <nickhu@andestech.com>,
	"Greentime Hu" <green.hu@gmail.com>,
	"Vincent Chen" <deanbo422@gmail.com>,
	"James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>,
	"Helge Deller" <deller@gmx.de>,
	"Michael Ellerman" <mpe@ellerman.id.au>,
	"Benjamin Herrenschmidt" <benh@kernel.crashing.org>,
	"Paul Mackerras" <paulus@samba.org>,
	"Paul Walmsley" <paul.walmsley@sifive.com>,
	"Palmer Dabbelt" <palmer@dabbelt.com>,
	"Albert Ou" <aou@eecs.berkeley.edu>,
	"Yoshinori Sato" <ysato@users.sourceforge.jp>,
	"Rich Felker" <dalias@libc.org>,
	"Thomas Gleixner" <tglx@linutronix.de>,
	"Ingo Molnar" <mingo@redhat.com>,
	"Borislav Petkov" <bp@alien8.de>,
	"Dave Hansen" <dave.hansen@linux.intel.com>,
	x86@kernel.org, "H. Peter Anvin" <hpa@zytor.com>,
	"Boris Ostrovsky" <boris.ostrovsky@oracle.com>,
	"Juergen Gross" <jgross@suse.com>,
	"Stefano Stabellini" <sstabellini@kernel.org>,
	"Len Brown" <lenb@kernel.org>,
	"Santosh Shilimkar" <ssantosh@kernel.org>,
	"Krzysztof Kozlowski" <krzysztof.kozlowski@canonical.com>,
	"Linus Walleij" <linus.walleij@linaro.org>,
	"Chen-Yu Tsai" <wens@csie.org>,
	"Jonathan Neuschäfer" <j.neuschaefer@gmx.net>,
	"Tony Lindgren" <tony@atomide.com>,
	"Liam Girdwood" <lgirdwood@gmail.com>,
	"Philipp Zabel" <p.zabel@pengutronix.de>,
	"Vladimir Zapolskiy" <vz@mleia.com>,
	"Avi Fishman" <avifishman70@gmail.com>,
	"Tomer Maimon" <tmaimon77@gmail.com>,
	"Tali Perry" <tali.perry1@gmail.com>,
	"Patrick Venture" <venture@google.com>,
	"Nancy Yuen" <yuenn@google.com>,
	"Benjamin Fair" <benjaminfair@google.com>,
	"Pavel Machek" <pavel@ucw.cz>,
	linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org, linux-csky@vger.kernel.org,
	linux-ia64@vger.kernel.org, linux-m68k@lists.linux-m68k.org,
	linux-mips@vger.kernel.org, linux-parisc@vger.kernel.org,
	linuxppc-dev@lists.ozlabs.org, linux-riscv@lists.infradead.org,
	linux-sh@vger.kernel.org, xen-devel@lists.xenproject.org,
	linux-acpi@vger.kernel.org, linux-omap@vger.kernel.org,
	openbmc@lists.ozlabs.org, linux-tegra@vger.kernel.org,
	linux-pm@vger.kernel.org
Subject: [PATCH v2 24/45] regulator: pfuze100: Use devm_register_power_handler()
Date: Wed, 27 Oct 2021 21:16:54 +0000	[thread overview]
Message-ID: <20211027211715.12671-25-digetx@gmail.com> (raw)
In-Reply-To: <20211027211715.12671-1-digetx@gmail.com>

Use devm_register_power_handler() that replaces global pm_power_off_prepare
variable and allows to register multiple power-off handlers.

Signed-off-by: Dmitry Osipenko <digetx@gmail.com>
---
 drivers/regulator/pfuze100-regulator.c | 39 ++++++++++----------------
 1 file changed, 15 insertions(+), 24 deletions(-)

diff --git a/drivers/regulator/pfuze100-regulator.c b/drivers/regulator/pfuze100-regulator.c
index d60d7d1b7fa2..73d5baf9d3ea 100644
--- a/drivers/regulator/pfuze100-regulator.c
+++ b/drivers/regulator/pfuze100-regulator.c
@@ -10,6 +10,7 @@
 #include <linux/of_device.h>
 #include <linux/regulator/of_regulator.h>
 #include <linux/platform_device.h>
+#include <linux/reboot.h>
 #include <linux/regulator/driver.h>
 #include <linux/regulator/machine.h>
 #include <linux/regulator/pfuze100.h>
@@ -76,6 +77,7 @@ struct pfuze_chip {
 	struct pfuze_regulator regulator_descs[PFUZE100_MAX_REGULATOR];
 	struct regulator_dev *regulators[PFUZE100_MAX_REGULATOR];
 	struct pfuze_regulator *pfuze_regulators;
+	struct power_handler power_handler;
 };
 
 static const int pfuze100_swbst[] = {
@@ -569,10 +571,10 @@ static inline struct device_node *match_of_node(int index)
 	return pfuze_matches[index].of_node;
 }
 
-static struct pfuze_chip *syspm_pfuze_chip;
-
-static void pfuze_power_off_prepare(void)
+static void pfuze_power_off_prepare(struct power_off_prep_data *data)
 {
+	struct pfuze_chip *syspm_pfuze_chip = data->cb_data;
+
 	dev_info(syspm_pfuze_chip->dev, "Configure standby mode for power off");
 
 	/* Switch from default mode: APS/APS to APS/Off */
@@ -611,24 +613,24 @@ static void pfuze_power_off_prepare(void)
 
 static int pfuze_power_off_prepare_init(struct pfuze_chip *pfuze_chip)
 {
+	int err;
+
 	if (pfuze_chip->chip_id != PFUZE100) {
 		dev_warn(pfuze_chip->dev, "Requested pm_power_off_prepare handler for not supported chip\n");
 		return -ENODEV;
 	}
 
-	if (pm_power_off_prepare) {
-		dev_warn(pfuze_chip->dev, "pm_power_off_prepare is already registered.\n");
-		return -EBUSY;
-	}
+	pfuze_chip->power_handler.power_off_prepare_cb = pfuze_power_off_prepare;
+	pfuze_chip->power_handler.cb_data = pfuze_chip;
 
-	if (syspm_pfuze_chip) {
-		dev_warn(pfuze_chip->dev, "syspm_pfuze_chip is already set.\n");
-		return -EBUSY;
+	err = devm_register_power_handler(pfuze_chip->dev,
+					  &pfuze_chip->power_handler);
+	if (err) {
+		dev_err(pfuze_chip->dev,
+			"failed to register power handler: %d\n", err);
+		return err;
 	}
 
-	syspm_pfuze_chip = pfuze_chip;
-	pm_power_off_prepare = pfuze_power_off_prepare;
-
 	return 0;
 }
 
@@ -837,23 +839,12 @@ static int pfuze100_regulator_probe(struct i2c_client *client,
 	return 0;
 }
 
-static int pfuze100_regulator_remove(struct i2c_client *client)
-{
-	if (syspm_pfuze_chip) {
-		syspm_pfuze_chip = NULL;
-		pm_power_off_prepare = NULL;
-	}
-
-	return 0;
-}
-
 static struct i2c_driver pfuze_driver = {
 	.driver = {
 		.name = "pfuze100-regulator",
 		.of_match_table = pfuze_dt_ids,
 	},
 	.probe = pfuze100_regulator_probe,
-	.remove = pfuze100_regulator_remove,
 };
 module_i2c_driver(pfuze_driver);
 
-- 
2.33.1

  parent reply	other threads:[~2021-10-27 21:22 UTC|newest]

Thread overview: 283+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-10-27 21:16 [PATCH v2 00/45] Introduce power-off+restart call chain API Dmitry Osipenko
2021-10-27 21:16 ` Dmitry Osipenko
2021-10-27 21:16 ` Dmitry Osipenko
2021-10-27 21:16 ` Dmitry Osipenko
2021-10-27 21:16 ` [PATCH v2 01/45] notifier: Remove extern annotation from function prototypes Dmitry Osipenko
2021-10-27 21:16   ` Dmitry Osipenko
2021-10-27 21:16   ` Dmitry Osipenko
2021-10-27 21:16   ` Dmitry Osipenko
2021-10-27 21:16 ` [PATCH v2 02/45] notifier: Add blocking_notifier_call_chain_empty() Dmitry Osipenko
2021-10-27 21:16   ` Dmitry Osipenko
2021-10-27 21:16   ` Dmitry Osipenko
2021-10-27 21:16   ` Dmitry Osipenko
2021-10-27 21:16 ` [PATCH v2 03/45] notifier: Add atomic/blocking_notifier_has_unique_priority() Dmitry Osipenko
2021-10-27 21:16   ` Dmitry Osipenko
2021-10-27 21:16   ` Dmitry Osipenko
2021-10-27 21:16   ` Dmitry Osipenko
2021-10-28 11:00   ` Andy Shevchenko
2021-10-28 11:00     ` Andy Shevchenko
2021-10-28 11:00     ` Andy Shevchenko
2021-10-28 11:00     ` Andy Shevchenko
2021-10-28 21:32     ` Dmitry Osipenko
2021-10-28 21:32       ` Dmitry Osipenko
2021-10-28 21:32       ` Dmitry Osipenko
2021-10-28 21:32       ` Dmitry Osipenko
2021-10-28 23:28       ` Dmitry Osipenko
2021-10-28 23:28         ` Dmitry Osipenko
2021-10-28 23:28         ` Dmitry Osipenko
2021-10-28 23:28         ` Dmitry Osipenko
2021-10-28 22:10     ` Dmitry Osipenko
2021-10-28 22:10       ` Dmitry Osipenko
2021-10-28 22:10       ` Dmitry Osipenko
2021-10-28 22:10       ` Dmitry Osipenko
2021-10-27 21:16 ` [PATCH v2 04/45] reboot: Correct typo in a comment Dmitry Osipenko
2021-10-27 21:16   ` Dmitry Osipenko
2021-10-27 21:16   ` Dmitry Osipenko
2021-10-27 21:16   ` Dmitry Osipenko
2021-10-27 21:16 ` [PATCH v2 05/45] reboot: Warn if restart handler has duplicated priority Dmitry Osipenko
2021-10-27 21:16   ` Dmitry Osipenko
2021-10-27 21:16   ` Dmitry Osipenko
2021-10-27 21:16   ` Dmitry Osipenko
2021-10-27 21:16 ` [PATCH v2 06/45] reboot: Warn if unregister_restart_handler() fails Dmitry Osipenko
2021-10-27 21:16   ` Dmitry Osipenko
2021-10-27 21:16   ` Dmitry Osipenko
2021-10-27 21:16   ` Dmitry Osipenko
2021-10-27 21:16 ` [PATCH v2 07/45] reboot: Remove extern annotation from function prototypes Dmitry Osipenko
2021-10-27 21:16   ` Dmitry Osipenko
2021-10-27 21:16   ` Dmitry Osipenko
2021-10-27 21:16   ` Dmitry Osipenko
2021-10-27 21:16 ` [PATCH v2 08/45] kernel: Add combined power-off+restart handler call chain API Dmitry Osipenko
2021-10-27 21:16   ` Dmitry Osipenko
2021-10-27 21:16   ` Dmitry Osipenko
2021-10-27 21:16   ` Dmitry Osipenko
2021-10-28  9:53   ` Rafael J. Wysocki
2021-10-28  9:53     ` Rafael J. Wysocki
2021-10-28  9:53     ` Rafael J. Wysocki
2021-10-28  9:53     ` Rafael J. Wysocki
2021-10-28 21:36     ` Dmitry Osipenko
2021-10-28 21:36       ` Dmitry Osipenko
2021-10-28 21:36       ` Dmitry Osipenko
2021-10-28 21:36       ` Dmitry Osipenko
2021-10-28  9:59   ` Rafael J. Wysocki
2021-10-28  9:59     ` Rafael J. Wysocki
2021-10-28  9:59     ` Rafael J. Wysocki
2021-10-28  9:59     ` Rafael J. Wysocki
2021-10-28 21:58     ` Dmitry Osipenko
2021-10-28 21:58       ` Dmitry Osipenko
2021-10-28 21:58       ` Dmitry Osipenko
2021-10-28 21:58       ` Dmitry Osipenko
2021-10-28 21:59     ` Dmitry Osipenko
2021-10-28 21:59       ` Dmitry Osipenko
2021-10-28 21:59       ` Dmitry Osipenko
2021-10-28 21:59       ` Dmitry Osipenko
2021-10-27 21:16 ` [PATCH v2 09/45] xen/x86: Use do_kernel_power_off() Dmitry Osipenko
2021-10-27 21:16   ` Dmitry Osipenko
2021-10-27 21:16   ` Dmitry Osipenko
2021-10-27 21:16   ` Dmitry Osipenko
2021-10-28  7:35   ` Juergen Gross
2021-10-28  7:35     ` Juergen Gross
2021-10-28  7:35     ` Juergen Gross
2021-10-28  7:35     ` Juergen Gross
2021-10-27 21:16 ` [PATCH v2 10/45] ARM: " Dmitry Osipenko
2021-10-27 21:16   ` Dmitry Osipenko
2021-10-27 21:16   ` Dmitry Osipenko
2021-10-27 21:16   ` Dmitry Osipenko
2021-10-28 12:04   ` Russell King (Oracle)
2021-10-28 12:04     ` Russell King (Oracle)
2021-10-28 12:04     ` Russell King (Oracle)
2021-10-28 12:04     ` Russell King (Oracle)
2021-10-27 21:16 ` [PATCH v2 11/45] arm64: " Dmitry Osipenko
2021-10-27 21:16   ` Dmitry Osipenko
2021-10-27 21:16   ` Dmitry Osipenko
2021-10-27 21:16   ` Dmitry Osipenko
2021-11-01 13:28   ` Catalin Marinas
2021-11-01 13:28     ` Catalin Marinas
2021-11-01 13:28     ` Catalin Marinas
2021-11-01 13:28     ` Catalin Marinas
2021-10-27 21:16 ` [PATCH v2 12/45] csky: " Dmitry Osipenko
2021-10-27 21:16   ` Dmitry Osipenko
2021-10-27 21:16   ` Dmitry Osipenko
2021-10-27 21:16   ` Dmitry Osipenko
2021-11-01  1:57   ` Guo Ren
2021-11-01  1:57     ` Guo Ren
2021-11-01  1:57     ` Guo Ren
2021-11-01  1:57     ` Guo Ren
2021-10-27 21:16 ` [PATCH v2 13/45] ia64: " Dmitry Osipenko
2021-10-27 21:16   ` Dmitry Osipenko
2021-10-27 21:16   ` Dmitry Osipenko
2021-10-27 21:16   ` Dmitry Osipenko
2021-10-27 21:16 ` [PATCH v2 14/45] mips: " Dmitry Osipenko
2021-10-27 21:16   ` Dmitry Osipenko
2021-10-27 21:16   ` Dmitry Osipenko
2021-10-27 21:16   ` Dmitry Osipenko
2021-10-27 21:16 ` [PATCH v2 15/45] nds32: " Dmitry Osipenko
2021-10-27 21:16   ` Dmitry Osipenko
2021-10-27 21:16   ` Dmitry Osipenko
2021-10-27 21:16   ` Dmitry Osipenko
2021-10-28 12:20   ` Greentime Hu
2021-10-28 12:20     ` Greentime Hu
2021-10-28 12:20     ` Greentime Hu
2021-10-28 12:20     ` Greentime Hu
2021-10-27 21:16 ` [PATCH v2 16/45] parisc: " Dmitry Osipenko
2021-10-27 21:16   ` Dmitry Osipenko
2021-10-27 21:16   ` Dmitry Osipenko
2021-10-27 21:16   ` Dmitry Osipenko
2021-10-28  6:38   ` Helge Deller
2021-10-28  6:38     ` Helge Deller
2021-10-28  6:38     ` Helge Deller
2021-10-28  6:38     ` Helge Deller
2021-10-27 21:16 ` [PATCH v2 17/45] powerpc: " Dmitry Osipenko
2021-10-27 21:16   ` Dmitry Osipenko
2021-10-27 21:16   ` Dmitry Osipenko
2021-10-27 21:16   ` Dmitry Osipenko
2021-10-27 21:16 ` [PATCH v2 18/45] riscv: " Dmitry Osipenko
2021-10-27 21:16   ` Dmitry Osipenko
2021-10-27 21:16   ` Dmitry Osipenko
2021-10-27 21:16   ` Dmitry Osipenko
2021-10-27 23:09   ` Palmer Dabbelt
2021-10-27 23:09     ` Palmer Dabbelt
2021-10-27 23:09     ` Palmer Dabbelt
2021-10-27 23:09     ` Palmer Dabbelt
2021-10-27 21:16 ` [PATCH v2 19/45] sh: " Dmitry Osipenko
2021-10-27 21:16   ` Dmitry Osipenko
2021-10-27 21:16   ` Dmitry Osipenko
2021-10-27 21:16   ` Dmitry Osipenko
2021-10-27 21:16 ` [PATCH v2 20/45] x86: " Dmitry Osipenko
2021-10-27 21:16   ` Dmitry Osipenko
2021-10-27 21:16   ` Dmitry Osipenko
2021-10-27 21:16   ` Dmitry Osipenko
2021-10-27 21:16 ` [PATCH v2 21/45] m68k: Switch to new power-handler API Dmitry Osipenko
2021-10-27 21:16   ` Dmitry Osipenko
2021-10-27 21:16   ` Dmitry Osipenko
2021-10-27 21:16   ` Dmitry Osipenko
2021-10-27 21:16 ` [PATCH v2 22/45] memory: emif: Use kernel_can_power_off() Dmitry Osipenko
2021-10-27 21:16   ` Dmitry Osipenko
2021-10-27 21:16   ` Dmitry Osipenko
2021-10-27 21:16   ` Dmitry Osipenko
2021-10-27 21:16 ` [PATCH v2 23/45] ACPI: power: Switch to power-handler API Dmitry Osipenko
2021-10-27 21:16   ` Dmitry Osipenko
2021-10-27 21:16   ` Dmitry Osipenko
2021-10-27 21:16   ` Dmitry Osipenko
2021-10-27 21:16 ` Dmitry Osipenko [this message]
2021-10-27 21:16   ` [PATCH v2 24/45] regulator: pfuze100: Use devm_register_power_handler() Dmitry Osipenko
2021-10-27 21:16   ` Dmitry Osipenko
2021-10-27 21:16   ` Dmitry Osipenko
2021-10-28 11:59   ` Mark Brown
2021-10-28 11:59     ` Mark Brown
2021-10-28 11:59     ` Mark Brown
2021-10-28 11:59     ` Mark Brown
2021-10-27 21:16 ` [PATCH v2 25/45] reboot: Remove pm_power_off_prepare() Dmitry Osipenko
2021-10-27 21:16   ` Dmitry Osipenko
2021-10-27 21:16   ` Dmitry Osipenko
2021-10-27 21:16   ` Dmitry Osipenko
2021-10-27 21:16 ` [PATCH v2 26/45] soc/tegra: pmc: Utilize power-handler API to power off Nexus 7 properly Dmitry Osipenko
2021-10-27 21:16   ` Dmitry Osipenko
2021-10-27 21:16   ` Dmitry Osipenko
2021-10-27 21:16   ` Dmitry Osipenko
2021-10-27 21:16 ` [PATCH v2 27/45] mfd: ntxec: Use devm_register_power_handler() Dmitry Osipenko
2021-10-27 21:16   ` Dmitry Osipenko
2021-10-27 21:16   ` Dmitry Osipenko
2021-10-27 21:16   ` Dmitry Osipenko
2021-11-06 20:54   ` Jonathan Neuschäfer
2021-11-06 20:54     ` Jonathan Neuschäfer
2021-11-06 20:54     ` Jonathan Neuschäfer
2021-11-06 20:54     ` Jonathan Neuschäfer
2021-11-07 16:53     ` Dmitry Osipenko
2021-11-07 16:53       ` Dmitry Osipenko
2021-11-07 16:53       ` Dmitry Osipenko
2021-11-07 16:53       ` Dmitry Osipenko
2021-11-07 17:08       ` Guenter Roeck
2021-11-07 17:08         ` Guenter Roeck
2021-11-07 17:08         ` Guenter Roeck
2021-11-07 17:08         ` Guenter Roeck
2021-11-07 17:16         ` Dmitry Osipenko
2021-11-07 17:16           ` Dmitry Osipenko
2021-11-07 17:16           ` Dmitry Osipenko
2021-11-07 17:16           ` Dmitry Osipenko
2021-11-07 17:32           ` Guenter Roeck
2021-11-07 17:32             ` Guenter Roeck
2021-11-07 17:32             ` Guenter Roeck
2021-11-07 17:32             ` Guenter Roeck
2021-11-07 17:42             ` Dmitry Osipenko
2021-11-07 17:42               ` Dmitry Osipenko
2021-11-07 17:42               ` Dmitry Osipenko
2021-11-07 17:42               ` Dmitry Osipenko
2021-11-08 11:22               ` Jonathan Neuschäfer
2021-11-08 11:22                 ` Jonathan Neuschäfer
2021-11-08 11:22                 ` Jonathan Neuschäfer
2021-11-08 11:22                 ` Jonathan Neuschäfer
2021-11-08 11:36                 ` Dmitry Osipenko
2021-11-08 11:36                   ` Dmitry Osipenko
2021-11-08 11:36                   ` Dmitry Osipenko
2021-11-08 11:36                   ` Dmitry Osipenko
2021-11-10 10:43                   ` Jonathan Neuschäfer
2021-11-10 10:43                     ` Jonathan Neuschäfer
2021-11-10 10:43                     ` Jonathan Neuschäfer
2021-11-10 10:43                     ` Jonathan Neuschäfer
2021-11-10 13:38                     ` Dmitry Osipenko
2021-11-10 13:38                       ` Dmitry Osipenko
2021-11-10 13:38                       ` Dmitry Osipenko
2021-11-10 13:38                       ` Dmitry Osipenko
2021-10-27 21:16 ` [PATCH v2 28/45] mfd: rn5t618: " Dmitry Osipenko
2021-10-27 21:16   ` Dmitry Osipenko
2021-10-27 21:16   ` Dmitry Osipenko
2021-10-27 21:16   ` Dmitry Osipenko
2021-11-29 11:55   ` Lee Jones
2021-11-29 11:55     ` Lee Jones
2021-11-29 11:55     ` Lee Jones
2021-11-29 12:04     ` Dmitry Osipenko
2021-11-29 12:04       ` Dmitry Osipenko
2021-11-29 12:04       ` Dmitry Osipenko
2021-11-29 12:04       ` Dmitry Osipenko
2021-10-27 21:16 ` [PATCH v2 29/45] mfd: acer-a500: " Dmitry Osipenko
2021-10-27 21:16   ` Dmitry Osipenko
2021-10-27 21:16   ` Dmitry Osipenko
2021-10-27 21:16   ` Dmitry Osipenko
2021-10-27 21:17 ` [PATCH v2 30/45] mfd: ene-kb3930: " Dmitry Osipenko
2021-10-27 21:17   ` Dmitry Osipenko
2021-10-27 21:17   ` Dmitry Osipenko
2021-10-27 21:17   ` Dmitry Osipenko
2021-10-27 21:17 ` [PATCH v2 31/45] mfd: axp20x: Use register_simple_power_off_handler() Dmitry Osipenko
2021-10-27 21:17   ` Dmitry Osipenko
2021-10-27 21:17   ` Dmitry Osipenko
2021-10-27 21:17   ` Dmitry Osipenko
2021-10-27 21:17 ` [PATCH v2 32/45] mfd: retu: Use devm_register_simple_power_off_handler() Dmitry Osipenko
2021-10-27 21:17   ` Dmitry Osipenko
2021-10-27 21:17   ` Dmitry Osipenko
2021-10-27 21:17   ` Dmitry Osipenko
2021-10-27 21:17 ` [PATCH v2 33/45] mfd: rk808: " Dmitry Osipenko
2021-10-27 21:17   ` Dmitry Osipenko
2021-10-27 21:17   ` Dmitry Osipenko
2021-10-27 21:17   ` Dmitry Osipenko
2021-10-27 21:17 ` [PATCH v2 34/45] mfd: palmas: " Dmitry Osipenko
2021-10-27 21:17   ` Dmitry Osipenko
2021-10-27 21:17   ` Dmitry Osipenko
2021-10-27 21:17   ` Dmitry Osipenko
2021-10-27 21:17 ` [PATCH v2 35/45] mfd: max8907: " Dmitry Osipenko
2021-10-27 21:17   ` Dmitry Osipenko
2021-10-27 21:17   ` Dmitry Osipenko
2021-10-27 21:17   ` Dmitry Osipenko
2021-10-27 21:17 ` [PATCH v2 36/45] mfd: tps6586x: " Dmitry Osipenko
2021-10-27 21:17   ` Dmitry Osipenko
2021-10-27 21:17   ` Dmitry Osipenko
2021-10-27 21:17   ` Dmitry Osipenko
2021-10-27 21:17 ` [PATCH v2 37/45] mfd: tps65910: " Dmitry Osipenko
2021-10-27 21:17   ` Dmitry Osipenko
2021-10-27 21:17   ` Dmitry Osipenko
2021-10-27 21:17   ` Dmitry Osipenko
2021-10-27 21:17 ` [PATCH v2 38/45] mfd: max77620: " Dmitry Osipenko
2021-10-27 21:17   ` Dmitry Osipenko
2021-10-27 21:17   ` Dmitry Osipenko
2021-10-27 21:17   ` Dmitry Osipenko
2021-10-27 21:17 ` [PATCH v2 39/45] mfd: dm355evm_msp: Use devm_register_trivial_power_off_handler() Dmitry Osipenko
2021-10-27 21:17   ` Dmitry Osipenko
2021-10-27 21:17   ` Dmitry Osipenko
2021-10-27 21:17   ` Dmitry Osipenko
2021-10-27 21:17 ` [PATCH v2 40/45] mfd: twl4030: " Dmitry Osipenko
2021-10-27 21:17   ` Dmitry Osipenko
2021-10-27 21:17   ` Dmitry Osipenko
2021-10-27 21:17   ` Dmitry Osipenko
2021-10-28 22:05 ` [PATCH v2 00/45] Introduce power-off+restart call chain API Dmitry Osipenko
2021-10-28 22:05   ` Dmitry Osipenko
2021-10-28 22:05   ` Dmitry Osipenko
2021-10-28 22:05   ` Dmitry Osipenko

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=20211027211715.12671-25-digetx@gmail.com \
    --to=digetx@gmail.com \
    --cc=James.Bottomley@HansenPartnership.com \
    --cc=akpm@linux-foundation.org \
    --cc=andriy.shevchenko@linux.intel.com \
    --cc=aou@eecs.berkeley.edu \
    --cc=avifishman70@gmail.com \
    --cc=benh@kernel.crashing.org \
    --cc=benjaminfair@google.com \
    --cc=boris.ostrovsky@oracle.com \
    --cc=bp@alien8.de \
    --cc=broonie@kernel.org \
    --cc=catalin.marinas@arm.com \
    --cc=dalias@libc.org \
    --cc=daniel.lezcano@linaro.org \
    --cc=dave.hansen@linux.intel.com \
    --cc=deanbo422@gmail.com \
    --cc=deller@gmx.de \
    --cc=funaho@jurai.org \
    --cc=geert@linux-m68k.org \
    --cc=gerg@linux-m68k.org \
    --cc=green.hu@gmail.com \
    --cc=guoren@kernel.org \
    --cc=hpa@zytor.com \
    --cc=j.neuschaefer@gmx.net \
    --cc=jgross@suse.com \
    --cc=jonathanh@nvidia.com \
    --cc=krzysztof.kozlowski@canonical.com \
    --cc=lee.jones@linaro.org \
    --cc=lenb@kernel.org \
    --cc=lgirdwood@gmail.com \
    --cc=linus.walleij@linaro.org \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-csky@vger.kernel.org \
    --cc=linux-ia64@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-m68k@lists.linux-m68k.org \
    --cc=linux-mips@vger.kernel.org \
    --cc=linux-omap@vger.kernel.org \
    --cc=linux-parisc@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=linux-riscv@lists.infradead.org \
    --cc=linux-sh@vger.kernel.org \
    --cc=linux-tegra@vger.kernel.org \
    --cc=linux@armlinux.org.uk \
    --cc=linux@roeck-us.net \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=mingo@redhat.com \
    --cc=mpe@ellerman.id.au \
    --cc=nickhu@andestech.com \
    --cc=openbmc@lists.ozlabs.org \
    --cc=p.zabel@pengutronix.de \
    --cc=palmer@dabbelt.com \
    --cc=paul.walmsley@sifive.com \
    --cc=paulus@samba.org \
    --cc=pavel@ucw.cz \
    --cc=rafael@kernel.org \
    --cc=ssantosh@kernel.org \
    --cc=sstabellini@kernel.org \
    --cc=tali.perry1@gmail.com \
    --cc=tglx@linutronix.de \
    --cc=thierry.reding@gmail.com \
    --cc=tmaimon77@gmail.com \
    --cc=tony@atomide.com \
    --cc=tsbogend@alpha.franken.de \
    --cc=ulf.hansson@linaro.org \
    --cc=venture@google.com \
    --cc=vz@mleia.com \
    --cc=wens@csie.org \
    --cc=will@kernel.org \
    --cc=x86@kernel.org \
    --cc=xen-devel@lists.xenproject.org \
    --cc=ysato@users.sourceforge.jp \
    --cc=yuenn@google.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.