From: "Rafael J. Wysocki" <rjw@sisk.pl>
To: LKML <linux-kernel@vger.kernel.org>
Cc: Greg KH <gregkh@suse.de>, Kay Sievers <kay.sievers@suse.de>,
Linux PM mailing list <linux-pm@lists.linux-foundation.org>,
Russell King <linux@arm.linux.org.uk>,
linux-omap@vger.kernel.org, Kevin Hilman <khilman@ti.com>,
linux-arm-kernel@lists.infradead.org,
Ben Dooks <ben-linux@fluff.org>
Subject: [PATCH 2/7] ARM / OMAP: Use struct syscore_ops for "core" power management
Date: Mon, 28 Mar 2011 01:27:08 +0200 [thread overview]
Message-ID: <201103280127.09110.rjw@sisk.pl> (raw)
In-Reply-To: <201103280125.11750.rjw@sisk.pl>
From: Rafael J. Wysocki <rjw@sisk.pl>
Replace the sysdev class and struct sys_device used for power
management in the OMAP's GPIO code with a struct syscore_ops object
which is simpler.
Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
---
arch/arm/plat-omap/gpio.c | 35 +++++++++--------------------------
1 file changed, 9 insertions(+), 26 deletions(-)
Index: linux-2.6/arch/arm/plat-omap/gpio.c
===================================================================
--- linux-2.6.orig/arch/arm/plat-omap/gpio.c
+++ linux-2.6/arch/arm/plat-omap/gpio.c
@@ -17,7 +17,7 @@
#include <linux/init.h>
#include <linux/module.h>
#include <linux/interrupt.h>
-#include <linux/sysdev.h>
+#include <linux/syscore_ops.h>
#include <linux/err.h>
#include <linux/clk.h>
#include <linux/io.h>
@@ -1379,9 +1379,7 @@ static const struct dev_pm_ops omap_mpui
.resume_noirq = omap_mpuio_resume_noirq,
};
-/* use platform_driver for this, now that there's no longer any
- * point to sys_device (other than not disturbing old code).
- */
+/* use platform_driver for this. */
static struct platform_driver omap_mpuio_driver = {
.driver = {
.name = "mpuio",
@@ -1754,7 +1752,7 @@ static int __devinit omap_gpio_probe(str
}
#if defined(CONFIG_ARCH_OMAP16XX) || defined(CONFIG_ARCH_OMAP2PLUS)
-static int omap_gpio_suspend(struct sys_device *dev, pm_message_t mesg)
+static int omap_gpio_suspend(void)
{
int i;
@@ -1804,12 +1802,12 @@ static int omap_gpio_suspend(struct sys_
return 0;
}
-static int omap_gpio_resume(struct sys_device *dev)
+static void omap_gpio_resume(void)
{
int i;
if (!cpu_class_is_omap2() && !cpu_is_omap16xx())
- return 0;
+ return;
for (i = 0; i < gpio_bank_count; i++) {
struct gpio_bank *bank = &gpio_bank[i];
@@ -1845,21 +1843,13 @@ static int omap_gpio_resume(struct sys_d
__raw_writel(bank->saved_wakeup, wake_set);
spin_unlock_irqrestore(&bank->lock, flags);
}
-
- return 0;
}
-static struct sysdev_class omap_gpio_sysclass = {
- .name = "gpio",
+static struct syscore_ops omap_gpio_syscore_ops = {
.suspend = omap_gpio_suspend,
.resume = omap_gpio_resume,
};
-static struct sys_device omap_gpio_device = {
- .id = 0,
- .cls = &omap_gpio_sysclass,
-};
-
#endif
#ifdef CONFIG_ARCH_OMAP2PLUS
@@ -2117,21 +2107,14 @@ postcore_initcall(omap_gpio_drv_reg);
static int __init omap_gpio_sysinit(void)
{
- int ret = 0;
-
mpuio_init();
#if defined(CONFIG_ARCH_OMAP16XX) || defined(CONFIG_ARCH_OMAP2PLUS)
- if (cpu_is_omap16xx() || cpu_class_is_omap2()) {
- if (ret == 0) {
- ret = sysdev_class_register(&omap_gpio_sysclass);
- if (ret == 0)
- ret = sysdev_register(&omap_gpio_device);
- }
- }
+ if (cpu_is_omap16xx() || cpu_class_is_omap2())
+ register_syscore_ops(&omap_gpio_syscore_ops);
#endif
- return ret;
+ return 0;
}
arch_initcall(omap_gpio_sysinit);
WARNING: multiple messages have this Message-ID (diff)
From: rjw@sisk.pl (Rafael J. Wysocki)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 2/7] ARM / OMAP: Use struct syscore_ops for "core" power management
Date: Mon, 28 Mar 2011 01:27:08 +0200 [thread overview]
Message-ID: <201103280127.09110.rjw@sisk.pl> (raw)
In-Reply-To: <201103280125.11750.rjw@sisk.pl>
From: Rafael J. Wysocki <rjw@sisk.pl>
Replace the sysdev class and struct sys_device used for power
management in the OMAP's GPIO code with a struct syscore_ops object
which is simpler.
Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
---
arch/arm/plat-omap/gpio.c | 35 +++++++++--------------------------
1 file changed, 9 insertions(+), 26 deletions(-)
Index: linux-2.6/arch/arm/plat-omap/gpio.c
===================================================================
--- linux-2.6.orig/arch/arm/plat-omap/gpio.c
+++ linux-2.6/arch/arm/plat-omap/gpio.c
@@ -17,7 +17,7 @@
#include <linux/init.h>
#include <linux/module.h>
#include <linux/interrupt.h>
-#include <linux/sysdev.h>
+#include <linux/syscore_ops.h>
#include <linux/err.h>
#include <linux/clk.h>
#include <linux/io.h>
@@ -1379,9 +1379,7 @@ static const struct dev_pm_ops omap_mpui
.resume_noirq = omap_mpuio_resume_noirq,
};
-/* use platform_driver for this, now that there's no longer any
- * point to sys_device (other than not disturbing old code).
- */
+/* use platform_driver for this. */
static struct platform_driver omap_mpuio_driver = {
.driver = {
.name = "mpuio",
@@ -1754,7 +1752,7 @@ static int __devinit omap_gpio_probe(str
}
#if defined(CONFIG_ARCH_OMAP16XX) || defined(CONFIG_ARCH_OMAP2PLUS)
-static int omap_gpio_suspend(struct sys_device *dev, pm_message_t mesg)
+static int omap_gpio_suspend(void)
{
int i;
@@ -1804,12 +1802,12 @@ static int omap_gpio_suspend(struct sys_
return 0;
}
-static int omap_gpio_resume(struct sys_device *dev)
+static void omap_gpio_resume(void)
{
int i;
if (!cpu_class_is_omap2() && !cpu_is_omap16xx())
- return 0;
+ return;
for (i = 0; i < gpio_bank_count; i++) {
struct gpio_bank *bank = &gpio_bank[i];
@@ -1845,21 +1843,13 @@ static int omap_gpio_resume(struct sys_d
__raw_writel(bank->saved_wakeup, wake_set);
spin_unlock_irqrestore(&bank->lock, flags);
}
-
- return 0;
}
-static struct sysdev_class omap_gpio_sysclass = {
- .name = "gpio",
+static struct syscore_ops omap_gpio_syscore_ops = {
.suspend = omap_gpio_suspend,
.resume = omap_gpio_resume,
};
-static struct sys_device omap_gpio_device = {
- .id = 0,
- .cls = &omap_gpio_sysclass,
-};
-
#endif
#ifdef CONFIG_ARCH_OMAP2PLUS
@@ -2117,21 +2107,14 @@ postcore_initcall(omap_gpio_drv_reg);
static int __init omap_gpio_sysinit(void)
{
- int ret = 0;
-
mpuio_init();
#if defined(CONFIG_ARCH_OMAP16XX) || defined(CONFIG_ARCH_OMAP2PLUS)
- if (cpu_is_omap16xx() || cpu_class_is_omap2()) {
- if (ret == 0) {
- ret = sysdev_class_register(&omap_gpio_sysclass);
- if (ret == 0)
- ret = sysdev_register(&omap_gpio_device);
- }
- }
+ if (cpu_is_omap16xx() || cpu_class_is_omap2())
+ register_syscore_ops(&omap_gpio_syscore_ops);
#endif
- return ret;
+ return 0;
}
arch_initcall(omap_gpio_sysinit);
next prev parent reply other threads:[~2011-03-27 23:27 UTC|newest]
Thread overview: 153+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-03-27 23:25 [PATCH 0/7] ARM: Use syscore_ops for "core" power management Rafael J. Wysocki
2011-03-27 23:25 ` Rafael J. Wysocki
2011-03-27 23:26 ` [PATCH 1/7] ARM: Use struct syscore_ops instead of sysdevs for PM in common code Rafael J. Wysocki
2011-03-27 23:26 ` Rafael J. Wysocki
2011-03-27 23:26 ` Rafael J. Wysocki
2011-03-27 23:26 ` Rafael J. Wysocki
2011-03-27 23:27 ` [PATCH 2/7] ARM / OMAP: Use struct syscore_ops for "core" power management Rafael J. Wysocki
2011-03-27 23:27 ` Rafael J. Wysocki [this message]
2011-03-27 23:27 ` Rafael J. Wysocki
2011-03-28 16:18 ` Kevin Hilman
2011-03-28 16:18 ` Kevin Hilman
2011-03-28 16:18 ` Kevin Hilman
2011-03-27 23:27 ` [PATCH 3/7] ARM / Integrator: " Rafael J. Wysocki
2011-03-27 23:27 ` Rafael J. Wysocki
2011-03-27 23:27 ` Rafael J. Wysocki
2011-03-27 23:28 ` [PATCH 4/7] ARM / SA1100: " Rafael J. Wysocki
2011-03-27 23:28 ` Rafael J. Wysocki
2011-03-27 23:28 ` Rafael J. Wysocki
2011-03-27 23:28 ` Rafael J. Wysocki
2011-03-27 23:29 ` [PATCH 5/7] ARM / PXA: " Rafael J. Wysocki
2011-03-27 23:29 ` Rafael J. Wysocki
2011-03-27 23:29 ` Rafael J. Wysocki
2011-03-27 23:29 ` [PATCH 6/7] ARM / Samsung: " Rafael J. Wysocki
2011-03-27 23:29 ` Rafael J. Wysocki
2011-03-27 23:29 ` Rafael J. Wysocki
2011-03-27 23:29 ` Rafael J. Wysocki
2011-03-27 23:45 ` Ben Dooks
2011-03-27 23:45 ` Ben Dooks
2011-03-28 19:42 ` Rafael J. Wysocki
2011-03-28 19:42 ` Rafael J. Wysocki
2011-03-28 19:42 ` Rafael J. Wysocki
2011-07-08 18:12 ` Rafael J. Wysocki
2011-07-08 18:12 ` Rafael J. Wysocki
2011-07-08 18:12 ` Rafael J. Wysocki
2011-07-08 18:12 ` Rafael J. Wysocki
2011-03-27 23:45 ` Ben Dooks
2011-03-27 23:45 ` Ben Dooks
2011-03-27 23:30 ` [PATCH 7/7] ARM: Select CONFIG_ARCH_NO_SYSDEV_OPS Rafael J. Wysocki
2011-03-27 23:30 ` Rafael J. Wysocki
2011-03-27 23:30 ` Rafael J. Wysocki
2011-04-17 21:01 ` [PATCH 0/14] Remove sysdev suspend/resume and shutdown operations Rafael J. Wysocki
2011-04-17 21:01 ` Rafael J. Wysocki
2011-04-17 21:01 ` Rafael J. Wysocki
2011-04-17 21:05 ` [PATCH 1/14] PM: Fix error code paths executed after failing syscore_suspend() Rafael J. Wysocki
2011-04-17 21:05 ` Rafael J. Wysocki
2011-04-17 21:05 ` Rafael J. Wysocki
2011-04-17 21:05 ` Rafael J. Wysocki
2011-04-17 21:06 ` [PATCH 2/14] PM: Add missing syscore_suspend() and syscore_resume() calls Rafael J. Wysocki
2011-04-17 21:06 ` Rafael J. Wysocki
2011-04-17 21:06 ` Rafael J. Wysocki
2011-04-17 21:06 ` Rafael J. Wysocki
2011-04-17 21:06 ` Rafael J. Wysocki
2011-04-18 8:51 ` Ian Campbell
2011-04-18 8:51 ` Ian Campbell
2011-04-18 8:51 ` Ian Campbell
2011-04-18 8:51 ` Ian Campbell
2011-04-17 21:07 ` [PATCH 3/14] ARM: Use struct syscore_ops instead of sysdevs for PM in common code Rafael J. Wysocki
2011-04-17 21:07 ` Rafael J. Wysocki
2011-04-17 21:07 ` Rafael J. Wysocki
2011-04-17 21:07 ` Rafael J. Wysocki
2011-04-17 21:08 ` [PATCH 4/14] ARM / OMAP: Use struct syscore_ops for "core" power management Rafael J. Wysocki
2011-04-17 21:08 ` Rafael J. Wysocki
2011-04-17 21:08 ` Rafael J. Wysocki
2011-04-17 21:08 ` Rafael J. Wysocki
2011-04-17 21:09 ` [PATCH 5/14] ARM / Integrator: Use struct syscore_ops for core PM Rafael J. Wysocki
2011-04-17 21:09 ` Rafael J. Wysocki
2011-04-17 21:09 ` Rafael J. Wysocki
2011-04-17 21:09 ` Rafael J. Wysocki
2011-04-17 21:10 ` [PATCH 6/14] ARM / SA1100: Use struct syscore_ops for "core" power management Rafael J. Wysocki
2011-04-17 21:10 ` Rafael J. Wysocki
2011-04-17 21:10 ` Rafael J. Wysocki
2011-04-17 21:10 ` Rafael J. Wysocki
2011-04-17 21:10 ` Rafael J. Wysocki
2011-04-17 21:10 ` [PATCH 7/14] ARM / PXA: " Rafael J. Wysocki
2011-04-17 21:10 ` Rafael J. Wysocki
2011-04-17 21:10 ` Rafael J. Wysocki
2011-04-17 21:10 ` Rafael J. Wysocki
2011-04-17 21:11 ` [PATCH 8/14] ARM / Samsung: " Rafael J. Wysocki
2011-04-17 21:11 ` Rafael J. Wysocki
2011-04-17 21:11 ` Rafael J. Wysocki
2011-04-17 21:11 ` Rafael J. Wysocki
2011-04-17 21:11 ` Rafael J. Wysocki
2011-04-17 21:49 ` Kukjin Kim
2011-04-17 21:49 ` Kukjin Kim
2011-04-17 21:49 ` Kukjin Kim
2011-04-17 21:49 ` Kukjin Kim
2011-04-17 21:11 ` Rafael J. Wysocki
2011-04-17 21:11 ` [PATCH 9/14] PM / Blackfin: Use struct syscore_ops instead of sysdevs for PM Rafael J. Wysocki
2011-04-17 21:11 ` Rafael J. Wysocki
2011-04-17 21:11 ` Rafael J. Wysocki
2011-04-17 21:11 ` Rafael J. Wysocki
2011-04-18 2:34 ` Mike Frysinger
2011-04-18 2:34 ` Mike Frysinger
2011-04-18 2:34 ` Mike Frysinger
2011-04-18 2:34 ` Mike Frysinger
2011-04-18 21:43 ` Rafael J. Wysocki
2011-04-18 21:43 ` Rafael J. Wysocki
2011-04-18 21:43 ` Rafael J. Wysocki
2011-04-18 21:43 ` Rafael J. Wysocki
2011-04-18 2:34 ` Mike Frysinger
2011-04-17 21:12 ` [PATCH 10/14] PM / MIPS: " Rafael J. Wysocki
2011-04-17 21:12 ` Rafael J. Wysocki
2011-04-17 21:12 ` Rafael J. Wysocki
2011-04-17 21:12 ` Rafael J. Wysocki
2011-04-18 10:12 ` Ralf Baechle
2011-04-18 10:12 ` Ralf Baechle
2011-04-18 10:12 ` Ralf Baechle
2011-04-18 10:12 ` Ralf Baechle
2011-04-18 20:03 ` Rafael J. Wysocki
2011-04-18 20:03 ` Rafael J. Wysocki
2011-04-18 20:03 ` Rafael J. Wysocki
2011-04-18 20:03 ` Rafael J. Wysocki
2011-04-18 10:12 ` Ralf Baechle
2011-04-19 3:08 ` Lars-Peter Clausen
2011-04-19 3:08 ` Lars-Peter Clausen
2011-04-19 3:08 ` Lars-Peter Clausen
2011-04-19 3:08 ` Lars-Peter Clausen
2011-04-17 21:13 ` [PATCH 11/14] PM / AVR32: " Rafael J. Wysocki
2011-04-17 21:13 ` Rafael J. Wysocki
2011-04-17 21:13 ` Rafael J. Wysocki
2011-04-17 21:13 ` Rafael J. Wysocki
2011-04-26 12:22 ` Hans-Christian Egtvedt
2011-04-26 12:22 ` Hans-Christian Egtvedt
2011-04-26 12:22 ` Hans-Christian Egtvedt
2011-04-26 12:22 ` Hans-Christian Egtvedt
2011-04-26 12:22 ` Hans-Christian Egtvedt
2011-04-26 17:14 ` Rafael J. Wysocki
2011-04-26 17:14 ` Rafael J. Wysocki
2011-04-26 17:14 ` Rafael J. Wysocki
2011-04-26 17:14 ` Rafael J. Wysocki
2011-04-17 21:13 ` Rafael J. Wysocki
2011-04-17 21:13 ` [PATCH 12/14] PM / UNICORE32: " Rafael J. Wysocki
2011-04-17 21:13 ` Rafael J. Wysocki
2011-04-17 21:13 ` Rafael J. Wysocki
2011-04-19 8:02 ` Guan Xuetao
2011-04-19 8:02 ` Guan Xuetao
2011-04-19 8:02 ` Guan Xuetao
2011-04-19 8:02 ` Guan Xuetao
2011-04-19 8:02 ` Guan Xuetao
2011-04-17 21:13 ` Rafael J. Wysocki
2011-04-17 21:14 ` [PATCH 13/14] PM / PowerPC: " Rafael J. Wysocki
2011-04-17 21:14 ` Rafael J. Wysocki
2011-04-17 21:14 ` Rafael J. Wysocki
2011-04-17 21:14 ` Rafael J. Wysocki
2011-04-17 21:15 ` [PATCH 14/14] PM: Remove sysdev suspend, resume and shutdown operations Rafael J. Wysocki
2011-04-17 21:15 ` Rafael J. Wysocki
2011-04-17 21:15 ` Rafael J. Wysocki
2011-04-17 21:15 ` Rafael J. Wysocki
2011-04-18 6:02 ` [PATCH 0/14] Remove sysdev suspend/resume " Greg KH
2011-04-18 6:02 ` Greg KH
2011-04-18 6:02 ` Greg KH
2011-04-18 6:02 ` Greg KH
2011-04-17 21:01 ` Rafael J. Wysocki
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=201103280127.09110.rjw@sisk.pl \
--to=rjw@sisk.pl \
--cc=ben-linux@fluff.org \
--cc=gregkh@suse.de \
--cc=kay.sievers@suse.de \
--cc=khilman@ti.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-omap@vger.kernel.org \
--cc=linux-pm@lists.linux-foundation.org \
--cc=linux@arm.linux.org.uk \
/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.