summaryrefslogtreecommitdiff
path: root/arch/arm/mach-pxa/mfp-pxa3xx.c
diff options
context:
space:
mode:
authoreric miao <eric.miao@marvell.com>2008-02-04 10:07:09 +0800
committerRussell King <rmk+kernel@arm.linux.org.uk>2008-04-19 11:29:04 +0100
commit4be35e236c4a0e346442d98de3e470cf87c4e947 (patch)
tree695484879f89212223df9f9163253bb828a84d54 /arch/arm/mach-pxa/mfp-pxa3xx.c
parent06b2666e89c85640c7eddd67e7bee292a9afeceb (diff)
[ARM] pxa: move mfp sysdev registeration out for suspend/resume order
MFP configurations after resume should be done before the GPIO registers are restored. Move the mfp sysdev registeration to the same place where GPIO and IRQ sysdev(s) are registered to better control the order. Signed-off-by: eric miao <eric.miao@marvell.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/mach-pxa/mfp-pxa3xx.c')
-rw-r--r--arch/arm/mach-pxa/mfp-pxa3xx.c20
1 files changed, 10 insertions, 10 deletions
diff --git a/arch/arm/mach-pxa/mfp-pxa3xx.c b/arch/arm/mach-pxa/mfp-pxa3xx.c
index f5809adce298..b84c3ba7a8d6 100644
--- a/arch/arm/mach-pxa/mfp-pxa3xx.c
+++ b/arch/arm/mach-pxa/mfp-pxa3xx.c
@@ -234,22 +234,22 @@ static int pxa3xx_mfp_resume(struct sys_device *d)
return 0;
}
+#else
+#define pxa3xx_mfp_suspend NULL
+#define pxa3xx_mfp_resume NULL
+#endif
-static struct sysdev_class mfp_sysclass = {
+struct sysdev_class pxa3xx_mfp_sysclass = {
.name = "mfp",
.suspend = pxa3xx_mfp_suspend,
.resume = pxa3xx_mfp_resume,
};
-static struct sys_device mfp_device = {
- .id = 0,
- .cls = &mfp_sysclass,
-};
-
static int __init mfp_init_devicefs(void)
{
- sysdev_class_register(&mfp_sysclass);
- return sysdev_register(&mfp_device);
+ if (cpu_is_pxa3xx())
+ return sysdev_class_register(&pxa3xx_mfp_sysclass);
+
+ return 0;
}
-device_initcall(mfp_init_devicefs);
-#endif
+postcore_initcall(mfp_init_devicefs);