aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOlof Johansson <olof@lixom.net>2015-04-03 17:56:56 -0400
committerOlof Johansson <olof@lixom.net>2015-04-03 17:56:56 -0400
commit30a5c1894a4c932f5a417f0a6ec369c7da81204b (patch)
treebdcc76efc154539409470f8c6c11fefca22aeed8
parent77e3c09e451ae78b64f7b89fc1690804da726787 (diff)
parenta11176e65b8727158bc355ca0cb00bf70cd69e48 (diff)
Merge tag 'samsung-fixes-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into next/fixes-non-critical
Merge "Samsung non-critical fixes for v4.1" from Kukjin Kim: - mostly trivial build fixes with random configurations from Arnd Bergmann for s3c24xx: avoid a Kconfig warning and fix header file inclusions, and fix building without PM_SLEEP and use SAMSUNG_WAKEMASK for s3c64xx: fix __initdata section mismatch and add I2C dependencies, and fix building with PM_SLEEP * tag 'samsung-fixes-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung: ARM: S3C24XX: avoid a Kconfig warning ARM: S3C24XX: fix header file inclusions ARM: S3C24XX: fix building without PM_SLEEP ARM: S3C24XX: use SAMSUNG_WAKEMASK for s3c2416 ARM: S3C64XX: fix __initdata section mismatch ARM: S3C64XX: fix building without CONFIG_PM_SLEEP ARM: S3C64XX: add I2C dependencies where needed Signed-off-by: Olof Johansson <olof@lixom.net>
-rw-r--r--arch/arm/mach-s3c24xx/Kconfig19
-rw-r--r--arch/arm/mach-s3c24xx/Makefile3
-rw-r--r--arch/arm/mach-s3c24xx/include/mach/pm-core.h24
-rw-r--r--arch/arm/mach-s3c24xx/pm-s3c2416.c3
-rw-r--r--arch/arm/mach-s3c24xx/pm.c6
-rw-r--r--arch/arm/mach-s3c24xx/s3c2410.c2
-rw-r--r--arch/arm/mach-s3c24xx/s3c2412.c2
-rw-r--r--arch/arm/mach-s3c24xx/s3c2416.c2
-rw-r--r--arch/arm/mach-s3c24xx/s3c2440.c4
-rw-r--r--arch/arm/mach-s3c24xx/s3c2442.c4
-rw-r--r--arch/arm/mach-s3c24xx/s3c244x.c7
-rw-r--r--arch/arm/mach-s3c64xx/Kconfig4
-rw-r--r--arch/arm/mach-s3c64xx/Makefile3
-rw-r--r--arch/arm/mach-s3c64xx/mach-smdk6410.c2
-rw-r--r--arch/arm/mach-s3c64xx/pm.c2
-rw-r--r--arch/arm/plat-samsung/include/plat/pm.h14
-rw-r--r--arch/arm/plat-samsung/pm-debug.c1
-rw-r--r--arch/arm/plat-samsung/pm.c20
18 files changed, 69 insertions, 53 deletions
diff --git a/arch/arm/mach-s3c24xx/Kconfig b/arch/arm/mach-s3c24xx/Kconfig
index 79c49ff77f6e..23bec3a85b22 100644
--- a/arch/arm/mach-s3c24xx/Kconfig
+++ b/arch/arm/mach-s3c24xx/Kconfig
@@ -39,14 +39,14 @@ config CPU_S3C2412
39 bool "SAMSUNG S3C2412" 39 bool "SAMSUNG S3C2412"
40 select CPU_ARM926T 40 select CPU_ARM926T
41 select S3C2412_COMMON_CLK 41 select S3C2412_COMMON_CLK
42 select S3C2412_PM if PM 42 select S3C2412_PM if PM_SLEEP
43 help 43 help
44 Support for the S3C2412 and S3C2413 SoCs from the S3C24XX line 44 Support for the S3C2412 and S3C2413 SoCs from the S3C24XX line
45 45
46config CPU_S3C2416 46config CPU_S3C2416
47 bool "SAMSUNG S3C2416/S3C2450" 47 bool "SAMSUNG S3C2416/S3C2450"
48 select CPU_ARM926T 48 select CPU_ARM926T
49 select S3C2416_PM if PM 49 select S3C2416_PM if PM_SLEEP
50 select S3C2443_COMMON_CLK 50 select S3C2443_COMMON_CLK
51 help 51 help
52 Support for the S3C2416 SoC from the S3C24XX line 52 Support for the S3C2416 SoC from the S3C24XX line
@@ -55,7 +55,7 @@ config CPU_S3C2440
55 bool "SAMSUNG S3C2440" 55 bool "SAMSUNG S3C2440"
56 select CPU_ARM920T 56 select CPU_ARM920T
57 select S3C2410_COMMON_CLK 57 select S3C2410_COMMON_CLK
58 select S3C2410_PM if PM 58 select S3C2410_PM if PM_SLEEP
59 help 59 help
60 Support for S3C2440 Samsung Mobile CPU based systems. 60 Support for S3C2440 Samsung Mobile CPU based systems.
61 61
@@ -63,7 +63,7 @@ config CPU_S3C2442
63 bool "SAMSUNG S3C2442" 63 bool "SAMSUNG S3C2442"
64 select CPU_ARM920T 64 select CPU_ARM920T
65 select S3C2410_COMMON_CLK 65 select S3C2410_COMMON_CLK
66 select S3C2410_PM if PM 66 select S3C2410_PM if PM_SLEEP
67 help 67 help
68 Support for S3C2442 Samsung Mobile CPU based systems. 68 Support for S3C2442 Samsung Mobile CPU based systems.
69 69
@@ -228,11 +228,6 @@ config H1940BT
228 This is a simple driver that is able to control 228 This is a simple driver that is able to control
229 the state of built in bluetooth chip on h1940. 229 the state of built in bluetooth chip on h1940.
230 230
231config PM_H1940
232 bool
233 help
234 Internal node for H1940 and related PM
235
236config MACH_N30 231config MACH_N30
237 bool "Acer N30 family" 232 bool "Acer N30 family"
238 select S3C_DEV_NAND 233 select S3C_DEV_NAND
@@ -362,6 +357,7 @@ if CPU_S3C2416
362config S3C2416_PM 357config S3C2416_PM
363 bool 358 bool
364 select S3C2412_PM_SLEEP 359 select S3C2412_PM_SLEEP
360 select SAMSUNG_WAKEMASK
365 help 361 help
366 Internal config node to apply S3C2416 power management 362 Internal config node to apply S3C2416 power management
367 363
@@ -584,6 +580,11 @@ config MACH_SMDK2443
584 580
585endif # CPU_S3C2443 581endif # CPU_S3C2443
586 582
583config PM_H1940
584 bool
585 help
586 Internal node for H1940 and related PM
587
587endmenu # SAMSUNG S3C24XX SoCs Support 588endmenu # SAMSUNG S3C24XX SoCs Support
588 589
589endif # ARCH_S3C24XX 590endif # ARCH_S3C24XX
diff --git a/arch/arm/mach-s3c24xx/Makefile b/arch/arm/mach-s3c24xx/Makefile
index b40a22fe082a..05920c8a5764 100644
--- a/arch/arm/mach-s3c24xx/Makefile
+++ b/arch/arm/mach-s3c24xx/Makefile
@@ -32,7 +32,8 @@ obj-$(CONFIG_CPU_S3C2443) += s3c2443.o
32 32
33# PM 33# PM
34 34
35obj-$(CONFIG_PM) += pm.o irq-pm.o sleep.o 35obj-$(CONFIG_PM) += pm.o
36obj-$(CONFIG_PM_SLEEP) += irq-pm.o sleep.o
36 37
37# common code 38# common code
38 39
diff --git a/arch/arm/mach-s3c24xx/include/mach/pm-core.h b/arch/arm/mach-s3c24xx/include/mach/pm-core.h
index 2eef7e6f7675..69459dbbdcad 100644
--- a/arch/arm/mach-s3c24xx/include/mach/pm-core.h
+++ b/arch/arm/mach-s3c24xx/include/mach/pm-core.h
@@ -10,6 +10,11 @@
10 * it under the terms of the GNU General Public License version 2 as 10 * it under the terms of the GNU General Public License version 2 as
11 * published by the Free Software Foundation. 11 * published by the Free Software Foundation.
12 */ 12 */
13#include <linux/delay.h>
14#include <linux/io.h>
15
16#include "regs-clock.h"
17#include "regs-irq.h"
13 18
14static inline void s3c_pm_debug_init_uart(void) 19static inline void s3c_pm_debug_init_uart(void)
15{ 20{
@@ -42,8 +47,23 @@ static inline void s3c_pm_arch_stop_clocks(void)
42 __raw_writel(0x00, S3C2410_CLKCON); /* turn off clocks over sleep */ 47 __raw_writel(0x00, S3C2410_CLKCON); /* turn off clocks over sleep */
43} 48}
44 49
45static void s3c_pm_show_resume_irqs(int start, unsigned long which, 50/* s3c2410_pm_show_resume_irqs
46 unsigned long mask); 51 *
52 * print any IRQs asserted at resume time (ie, we woke from)
53*/
54static inline void s3c_pm_show_resume_irqs(int start, unsigned long which,
55 unsigned long mask)
56{
57 int i;
58
59 which &= ~mask;
60
61 for (i = 0; i <= 31; i++) {
62 if (which & (1L<<i)) {
63 S3C_PMDBG("IRQ %d asserted at resume\n", start+i);
64 }
65 }
66}
47 67
48static inline void s3c_pm_arch_show_resume_irqs(void) 68static inline void s3c_pm_arch_show_resume_irqs(void)
49{ 69{
diff --git a/arch/arm/mach-s3c24xx/pm-s3c2416.c b/arch/arm/mach-s3c24xx/pm-s3c2416.c
index 44923895f558..c0e328e37bd6 100644
--- a/arch/arm/mach-s3c24xx/pm-s3c2416.c
+++ b/arch/arm/mach-s3c24xx/pm-s3c2416.c
@@ -23,6 +23,7 @@
23 23
24#include "s3c2412-power.h" 24#include "s3c2412-power.h"
25 25
26#ifdef CONFIG_PM_SLEEP
26extern void s3c2412_sleep_enter(void); 27extern void s3c2412_sleep_enter(void);
27 28
28static int s3c2416_cpu_suspend(unsigned long arg) 29static int s3c2416_cpu_suspend(unsigned long arg)
@@ -70,7 +71,7 @@ static __init int s3c2416_pm_init(void)
70} 71}
71 72
72arch_initcall(s3c2416_pm_init); 73arch_initcall(s3c2416_pm_init);
73 74#endif
74 75
75static void s3c2416_pm_resume(void) 76static void s3c2416_pm_resume(void)
76{ 77{
diff --git a/arch/arm/mach-s3c24xx/pm.c b/arch/arm/mach-s3c24xx/pm.c
index b19256ec8d40..5d510bca0844 100644
--- a/arch/arm/mach-s3c24xx/pm.c
+++ b/arch/arm/mach-s3c24xx/pm.c
@@ -50,6 +50,7 @@
50 50
51#define PFX "s3c24xx-pm: " 51#define PFX "s3c24xx-pm: "
52 52
53#ifdef CONFIG_PM_SLEEP
53static struct sleep_save core_save[] = { 54static struct sleep_save core_save[] = {
54 /* we restore the timings here, with the proviso that the board 55 /* we restore the timings here, with the proviso that the board
55 * brings the system up in an slower, or equal frequency setting 56 * brings the system up in an slower, or equal frequency setting
@@ -67,6 +68,7 @@ static struct sleep_save core_save[] = {
67 SAVE_ITEM(S3C2410_BANKCON4), 68 SAVE_ITEM(S3C2410_BANKCON4),
68 SAVE_ITEM(S3C2410_BANKCON5), 69 SAVE_ITEM(S3C2410_BANKCON5),
69}; 70};
71#endif
70 72
71/* s3c_pm_check_resume_pin 73/* s3c_pm_check_resume_pin
72 * 74 *
@@ -121,7 +123,7 @@ void s3c_pm_configure_extint(void)
121 } 123 }
122} 124}
123 125
124 126#ifdef CONFIG_PM_SLEEP
125void s3c_pm_restore_core(void) 127void s3c_pm_restore_core(void)
126{ 128{
127 s3c_pm_do_restore_core(core_save, ARRAY_SIZE(core_save)); 129 s3c_pm_do_restore_core(core_save, ARRAY_SIZE(core_save));
@@ -131,4 +133,4 @@ void s3c_pm_save_core(void)
131{ 133{
132 s3c_pm_do_save(core_save, ARRAY_SIZE(core_save)); 134 s3c_pm_do_save(core_save, ARRAY_SIZE(core_save));
133} 135}
134 136#endif
diff --git a/arch/arm/mach-s3c24xx/s3c2410.c b/arch/arm/mach-s3c24xx/s3c2410.c
index 2a6985a4a0ff..5061d66ca10c 100644
--- a/arch/arm/mach-s3c24xx/s3c2410.c
+++ b/arch/arm/mach-s3c24xx/s3c2410.c
@@ -121,7 +121,7 @@ int __init s3c2410_init(void)
121{ 121{
122 printk("S3C2410: Initialising architecture\n"); 122 printk("S3C2410: Initialising architecture\n");
123 123
124#ifdef CONFIG_PM 124#ifdef CONFIG_PM_SLEEP
125 register_syscore_ops(&s3c2410_pm_syscore_ops); 125 register_syscore_ops(&s3c2410_pm_syscore_ops);
126 register_syscore_ops(&s3c24xx_irq_syscore_ops); 126 register_syscore_ops(&s3c24xx_irq_syscore_ops);
127#endif 127#endif
diff --git a/arch/arm/mach-s3c24xx/s3c2412.c b/arch/arm/mach-s3c24xx/s3c2412.c
index ecf2c77ab88b..64a13605cfc3 100644
--- a/arch/arm/mach-s3c24xx/s3c2412.c
+++ b/arch/arm/mach-s3c24xx/s3c2412.c
@@ -172,7 +172,7 @@ int __init s3c2412_init(void)
172{ 172{
173 printk("S3C2412: Initialising architecture\n"); 173 printk("S3C2412: Initialising architecture\n");
174 174
175#ifdef CONFIG_PM 175#ifdef CONFIG_PM_SLEEP
176 register_syscore_ops(&s3c2412_pm_syscore_ops); 176 register_syscore_ops(&s3c2412_pm_syscore_ops);
177 register_syscore_ops(&s3c24xx_irq_syscore_ops); 177 register_syscore_ops(&s3c24xx_irq_syscore_ops);
178#endif 178#endif
diff --git a/arch/arm/mach-s3c24xx/s3c2416.c b/arch/arm/mach-s3c24xx/s3c2416.c
index bfd4da86deb8..3f8ca2a3ef17 100644
--- a/arch/arm/mach-s3c24xx/s3c2416.c
+++ b/arch/arm/mach-s3c24xx/s3c2416.c
@@ -98,7 +98,7 @@ int __init s3c2416_init(void)
98 s3c_adc_setname("s3c2416-adc"); 98 s3c_adc_setname("s3c2416-adc");
99 s3c_rtc_setname("s3c2416-rtc"); 99 s3c_rtc_setname("s3c2416-rtc");
100 100
101#ifdef CONFIG_PM 101#ifdef CONFIG_PM_SLEEP
102 register_syscore_ops(&s3c2416_pm_syscore_ops); 102 register_syscore_ops(&s3c2416_pm_syscore_ops);
103 register_syscore_ops(&s3c24xx_irq_syscore_ops); 103 register_syscore_ops(&s3c24xx_irq_syscore_ops);
104 register_syscore_ops(&s3c2416_irq_syscore_ops); 104 register_syscore_ops(&s3c2416_irq_syscore_ops);
diff --git a/arch/arm/mach-s3c24xx/s3c2440.c b/arch/arm/mach-s3c24xx/s3c2440.c
index 03d379f1fc52..eb733555fab5 100644
--- a/arch/arm/mach-s3c24xx/s3c2440.c
+++ b/arch/arm/mach-s3c24xx/s3c2440.c
@@ -57,11 +57,11 @@ int __init s3c2440_init(void)
57 57
58 /* register suspend/resume handlers */ 58 /* register suspend/resume handlers */
59 59
60#ifdef CONFIG_PM 60#ifdef CONFIG_PM_SLEEP
61 register_syscore_ops(&s3c2410_pm_syscore_ops); 61 register_syscore_ops(&s3c2410_pm_syscore_ops);
62 register_syscore_ops(&s3c24xx_irq_syscore_ops); 62 register_syscore_ops(&s3c24xx_irq_syscore_ops);
63#endif
64 register_syscore_ops(&s3c244x_pm_syscore_ops); 63 register_syscore_ops(&s3c244x_pm_syscore_ops);
64#endif
65 65
66 /* register our system device for everything else */ 66 /* register our system device for everything else */
67 67
diff --git a/arch/arm/mach-s3c24xx/s3c2442.c b/arch/arm/mach-s3c24xx/s3c2442.c
index 7b043349f1c8..893998ede022 100644
--- a/arch/arm/mach-s3c24xx/s3c2442.c
+++ b/arch/arm/mach-s3c24xx/s3c2442.c
@@ -60,11 +60,11 @@ int __init s3c2442_init(void)
60{ 60{
61 printk("S3C2442: Initialising architecture\n"); 61 printk("S3C2442: Initialising architecture\n");
62 62
63#ifdef CONFIG_PM 63#ifdef CONFIG_PM_SLEEP
64 register_syscore_ops(&s3c2410_pm_syscore_ops); 64 register_syscore_ops(&s3c2410_pm_syscore_ops);
65 register_syscore_ops(&s3c24xx_irq_syscore_ops); 65 register_syscore_ops(&s3c24xx_irq_syscore_ops);
66#endif
67 register_syscore_ops(&s3c244x_pm_syscore_ops); 66 register_syscore_ops(&s3c244x_pm_syscore_ops);
67#endif
68 68
69 return device_register(&s3c2442_dev); 69 return device_register(&s3c2442_dev);
70} 70}
diff --git a/arch/arm/mach-s3c24xx/s3c244x.c b/arch/arm/mach-s3c24xx/s3c244x.c
index 177f97802745..b14119585dc7 100644
--- a/arch/arm/mach-s3c24xx/s3c244x.c
+++ b/arch/arm/mach-s3c24xx/s3c244x.c
@@ -108,7 +108,7 @@ static int __init s3c2442_core_init(void)
108core_initcall(s3c2442_core_init); 108core_initcall(s3c2442_core_init);
109 109
110 110
111#ifdef CONFIG_PM 111#ifdef CONFIG_PM_SLEEP
112static struct sleep_save s3c244x_sleep[] = { 112static struct sleep_save s3c244x_sleep[] = {
113 SAVE_ITEM(S3C2440_DSC0), 113 SAVE_ITEM(S3C2440_DSC0),
114 SAVE_ITEM(S3C2440_DSC1), 114 SAVE_ITEM(S3C2440_DSC1),
@@ -127,12 +127,9 @@ static void s3c244x_resume(void)
127{ 127{
128 s3c_pm_do_restore(s3c244x_sleep, ARRAY_SIZE(s3c244x_sleep)); 128 s3c_pm_do_restore(s3c244x_sleep, ARRAY_SIZE(s3c244x_sleep));
129} 129}
130#else
131#define s3c244x_suspend NULL
132#define s3c244x_resume NULL
133#endif
134 130
135struct syscore_ops s3c244x_pm_syscore_ops = { 131struct syscore_ops s3c244x_pm_syscore_ops = {
136 .suspend = s3c244x_suspend, 132 .suspend = s3c244x_suspend,
137 .resume = s3c244x_resume, 133 .resume = s3c244x_resume,
138}; 134};
135#endif
diff --git a/arch/arm/mach-s3c64xx/Kconfig b/arch/arm/mach-s3c64xx/Kconfig
index 26ca2427e53d..eff95e950d81 100644
--- a/arch/arm/mach-s3c64xx/Kconfig
+++ b/arch/arm/mach-s3c64xx/Kconfig
@@ -189,6 +189,7 @@ endchoice
189config SMDK6410_WM1190_EV1 189config SMDK6410_WM1190_EV1
190 bool "Support Wolfson Microelectronics 1190-EV1 PMIC card" 190 bool "Support Wolfson Microelectronics 1190-EV1 PMIC card"
191 depends on MACH_SMDK6410 191 depends on MACH_SMDK6410
192 depends on I2C=y
192 select MFD_WM8350_I2C 193 select MFD_WM8350_I2C
193 select REGULATOR 194 select REGULATOR
194 select REGULATOR_WM8350 195 select REGULATOR_WM8350
@@ -203,6 +204,7 @@ config SMDK6410_WM1190_EV1
203config SMDK6410_WM1192_EV1 204config SMDK6410_WM1192_EV1
204 bool "Support Wolfson Microelectronics 1192-EV1 PMIC card" 205 bool "Support Wolfson Microelectronics 1192-EV1 PMIC card"
205 depends on MACH_SMDK6410 206 depends on MACH_SMDK6410
207 depends on I2C=y
206 select MFD_WM831X 208 select MFD_WM831X
207 select MFD_WM831X_I2C 209 select MFD_WM831X_I2C
208 select REGULATOR 210 select REGULATOR
@@ -269,8 +271,8 @@ config MACH_SMARTQ7
269 271
270config MACH_WLF_CRAGG_6410 272config MACH_WLF_CRAGG_6410
271 bool "Wolfson Cragganmore 6410" 273 bool "Wolfson Cragganmore 6410"
274 depends on I2C=y
272 select CPU_S3C6410 275 select CPU_S3C6410
273 select I2C
274 select LEDS_GPIO_REGISTER 276 select LEDS_GPIO_REGISTER
275 select S3C64XX_DEV_SPI0 277 select S3C64XX_DEV_SPI0
276 select S3C64XX_SETUP_FB_24BPP 278 select S3C64XX_SETUP_FB_24BPP
diff --git a/arch/arm/mach-s3c64xx/Makefile b/arch/arm/mach-s3c64xx/Makefile
index 12f67b61ca5f..17f4b07ec763 100644
--- a/arch/arm/mach-s3c64xx/Makefile
+++ b/arch/arm/mach-s3c64xx/Makefile
@@ -16,7 +16,8 @@ obj-$(CONFIG_CPU_S3C6410) += s3c6410.o
16 16
17# PM 17# PM
18 18
19obj-$(CONFIG_PM) += pm.o irq-pm.o sleep.o 19obj-$(CONFIG_PM) += pm.o
20obj-$(CONFIG_PM_SLEEP) += irq-pm.o sleep.o
20obj-$(CONFIG_CPU_IDLE) += cpuidle.o 21obj-$(CONFIG_CPU_IDLE) += cpuidle.o
21 22
22# DMA support 23# DMA support
diff --git a/arch/arm/mach-s3c64xx/mach-smdk6410.c b/arch/arm/mach-s3c64xx/mach-smdk6410.c
index 661eb662d051..b7447a92276e 100644
--- a/arch/arm/mach-s3c64xx/mach-smdk6410.c
+++ b/arch/arm/mach-s3c64xx/mach-smdk6410.c
@@ -209,7 +209,7 @@ static struct platform_device smdk6410_smsc911x = {
209}; 209};
210 210
211#ifdef CONFIG_REGULATOR 211#ifdef CONFIG_REGULATOR
212static struct regulator_consumer_supply smdk6410_b_pwr_5v_consumers[] __initdata = { 212static struct regulator_consumer_supply smdk6410_b_pwr_5v_consumers[] = {
213 REGULATOR_SUPPLY("PVDD", "0-001b"), 213 REGULATOR_SUPPLY("PVDD", "0-001b"),
214 REGULATOR_SUPPLY("AVDD", "0-001b"), 214 REGULATOR_SUPPLY("AVDD", "0-001b"),
215}; 215};
diff --git a/arch/arm/mach-s3c64xx/pm.c b/arch/arm/mach-s3c64xx/pm.c
index aaf7bea4032f..75b14e756383 100644
--- a/arch/arm/mach-s3c64xx/pm.c
+++ b/arch/arm/mach-s3c64xx/pm.c
@@ -194,6 +194,7 @@ void s3c_pm_debug_smdkled(u32 set, u32 clear)
194} 194}
195#endif 195#endif
196 196
197#ifdef CONFIG_PM_SLEEP
197static struct sleep_save core_save[] = { 198static struct sleep_save core_save[] = {
198 SAVE_ITEM(S3C64XX_MEM0DRVCON), 199 SAVE_ITEM(S3C64XX_MEM0DRVCON),
199 SAVE_ITEM(S3C64XX_MEM1DRVCON), 200 SAVE_ITEM(S3C64XX_MEM1DRVCON),
@@ -238,6 +239,7 @@ void s3c_pm_save_core(void)
238 s3c_pm_do_save(misc_save, ARRAY_SIZE(misc_save)); 239 s3c_pm_do_save(misc_save, ARRAY_SIZE(misc_save));
239 s3c_pm_do_save(core_save, ARRAY_SIZE(core_save)); 240 s3c_pm_do_save(core_save, ARRAY_SIZE(core_save));
240} 241}
242#endif
241 243
242/* since both s3c6400 and s3c6410 share the same sleep pm calls, we 244/* since both s3c6400 and s3c6410 share the same sleep pm calls, we
243 * put the per-cpu code in here until any new cpu comes along and changes 245 * put the per-cpu code in here until any new cpu comes along and changes
diff --git a/arch/arm/plat-samsung/include/plat/pm.h b/arch/arm/plat-samsung/include/plat/pm.h
index e17d871b934c..7f415ce74591 100644
--- a/arch/arm/plat-samsung/include/plat/pm.h
+++ b/arch/arm/plat-samsung/include/plat/pm.h
@@ -43,7 +43,11 @@ extern unsigned long s3c_irqwake_eintmask;
43 43
44/* IRQ masks for IRQs allowed to go to sleep (see irq.c) */ 44/* IRQ masks for IRQs allowed to go to sleep (see irq.c) */
45extern unsigned long s3c_irqwake_intallow; 45extern unsigned long s3c_irqwake_intallow;
46#ifdef CONFIG_PM_SLEEP
46extern unsigned long s3c_irqwake_eintallow; 47extern unsigned long s3c_irqwake_eintallow;
48#else
49#define s3c_irqwake_eintallow 0
50#endif
47 51
48/* per-cpu sleep functions */ 52/* per-cpu sleep functions */
49 53
@@ -58,16 +62,20 @@ extern unsigned long s3c_pm_flags;
58 62
59extern int s3c2410_cpu_suspend(unsigned long); 63extern int s3c2410_cpu_suspend(unsigned long);
60 64
61#ifdef CONFIG_SAMSUNG_PM 65#ifdef CONFIG_PM_SLEEP
62extern int s3c_irq_wake(struct irq_data *data, unsigned int state); 66extern int s3c_irq_wake(struct irq_data *data, unsigned int state);
63extern int s3c_irqext_wake(struct irq_data *data, unsigned int state);
64extern void s3c_cpu_resume(void); 67extern void s3c_cpu_resume(void);
65#else 68#else
66#define s3c_irq_wake NULL 69#define s3c_irq_wake NULL
67#define s3c_irqext_wake NULL
68#define s3c_cpu_resume NULL 70#define s3c_cpu_resume NULL
69#endif 71#endif
70 72
73#ifdef CONFIG_SAMSUNG_PM
74extern int s3c_irqext_wake(struct irq_data *data, unsigned int state);
75#else
76#define s3c_irqext_wake NULL
77#endif
78
71#ifdef CONFIG_S3C_PM_DEBUG_LED_SMDK 79#ifdef CONFIG_S3C_PM_DEBUG_LED_SMDK
72/** 80/**
73 * s3c_pm_debug_smdkled() - Debug PM suspend/resume via SMDK Board LEDs 81 * s3c_pm_debug_smdkled() - Debug PM suspend/resume via SMDK Board LEDs
diff --git a/arch/arm/plat-samsung/pm-debug.c b/arch/arm/plat-samsung/pm-debug.c
index 39609601f407..64e15da33b42 100644
--- a/arch/arm/plat-samsung/pm-debug.c
+++ b/arch/arm/plat-samsung/pm-debug.c
@@ -23,6 +23,7 @@
23#include <plat/pm-common.h> 23#include <plat/pm-common.h>
24 24
25#ifdef CONFIG_SAMSUNG_ATAGS 25#ifdef CONFIG_SAMSUNG_ATAGS
26#include <plat/pm.h>
26#include <mach/pm-core.h> 27#include <mach/pm-core.h>
27#else 28#else
28static inline void s3c_pm_debug_init_uart(void) {} 29static inline void s3c_pm_debug_init_uart(void) {}
diff --git a/arch/arm/plat-samsung/pm.c b/arch/arm/plat-samsung/pm.c
index f8c0f9797dcf..82777c649774 100644
--- a/arch/arm/plat-samsung/pm.c
+++ b/arch/arm/plat-samsung/pm.c
@@ -65,26 +65,6 @@ int s3c_irqext_wake(struct irq_data *data, unsigned int state)
65 return 0; 65 return 0;
66} 66}
67 67
68/* s3c2410_pm_show_resume_irqs
69 *
70 * print any IRQs asserted at resume time (ie, we woke from)
71*/
72static void __maybe_unused s3c_pm_show_resume_irqs(int start,
73 unsigned long which,
74 unsigned long mask)
75{
76 int i;
77
78 which &= ~mask;
79
80 for (i = 0; i <= 31; i++) {
81 if (which & (1L<<i)) {
82 S3C_PMDBG("IRQ %d asserted at resume\n", start+i);
83 }
84 }
85}
86
87
88void (*pm_cpu_prep)(void); 68void (*pm_cpu_prep)(void);
89int (*pm_cpu_sleep)(unsigned long); 69int (*pm_cpu_sleep)(unsigned long);
90 70