aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-s3c2410/s3c2412.c
diff options
context:
space:
mode:
authorBen Dooks <ben-linux@fluff.org>2006-09-22 10:42:18 -0400
committerRussell King <rmk+kernel@arm.linux.org.uk>2006-09-27 04:35:04 -0400
commit4b053e7a320882fbdbc6613cec60a929553b4215 (patch)
treec6c8d41fe2df1ec65ae4c5d31390109477274dfd /arch/arm/mach-s3c2410/s3c2412.c
parentda56c949261d462452a68cf05bfc645445bee830 (diff)
[ARM] 3858/1: S3C2412: power management code
Add S3C2412 power management code, and move the core register saving in from s3c2412.c Signed-off-by: Ben Dooks <ben-linux@fluff.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/mach-s3c2410/s3c2412.c')
-rw-r--r--arch/arm/mach-s3c2410/s3c2412.c40
1 files changed, 0 insertions, 40 deletions
diff --git a/arch/arm/mach-s3c2410/s3c2412.c b/arch/arm/mach-s3c2410/s3c2412.c
index ea25078cf4f8..e76431c41461 100644
--- a/arch/arm/mach-s3c2410/s3c2412.c
+++ b/arch/arm/mach-s3c2410/s3c2412.c
@@ -158,48 +158,8 @@ void __init s3c2412_init_clocks(int xtal)
158 * as a driver which may support both 2410 and 2440 may try and use it. 158 * as a driver which may support both 2410 and 2440 may try and use it.
159*/ 159*/
160 160
161#ifdef CONFIG_PM
162static struct sleep_save s3c2412_sleep[] = {
163 SAVE_ITEM(S3C2412_DSC0),
164 SAVE_ITEM(S3C2412_DSC1),
165 SAVE_ITEM(S3C2413_GPJDAT),
166 SAVE_ITEM(S3C2413_GPJCON),
167 SAVE_ITEM(S3C2413_GPJUP),
168
169 /* save the sleep configuration anyway, just in case these
170 * get damaged during wakeup */
171
172 SAVE_ITEM(S3C2412_GPBSLPCON),
173 SAVE_ITEM(S3C2412_GPCSLPCON),
174 SAVE_ITEM(S3C2412_GPDSLPCON),
175 SAVE_ITEM(S3C2412_GPESLPCON),
176 SAVE_ITEM(S3C2412_GPFSLPCON),
177 SAVE_ITEM(S3C2412_GPGSLPCON),
178 SAVE_ITEM(S3C2412_GPHSLPCON),
179 SAVE_ITEM(S3C2413_GPJSLPCON),
180};
181
182static int s3c2412_suspend(struct sys_device *dev, pm_message_t state)
183{
184 s3c2410_pm_do_save(s3c2412_sleep, ARRAY_SIZE(s3c2412_sleep));
185 return 0;
186}
187
188static int s3c2412_resume(struct sys_device *dev)
189{
190 s3c2410_pm_do_restore(s3c2412_sleep, ARRAY_SIZE(s3c2412_sleep));
191 return 0;
192}
193
194#else
195#define s3c2412_suspend NULL
196#define s3c2412_resume NULL
197#endif
198
199struct sysdev_class s3c2412_sysclass = { 161struct sysdev_class s3c2412_sysclass = {
200 set_kset_name("s3c2412-core"), 162 set_kset_name("s3c2412-core"),
201 .suspend = s3c2412_suspend,
202 .resume = s3c2412_resume
203}; 163};
204 164
205static int __init s3c2412_core_init(void) 165static int __init s3c2412_core_init(void)