Commit d8fdec16 authored by Heiko Stuebner's avatar Heiko Stuebner Committed by Kukjin Kim

ARM: S3C24XX: Move irq syscore-ops to irq-pm

With this the definition of s3c24xx_irq_syscore_ops can also move to
common.h from plat/pm.h and the definitions of s3c24xx_irq_suspend
and s3c24xx_irq_resume are also not necessary anymore in plat/pm.h
Signed-off-by: default avatarHeiko Stuebner <heiko@sntech.de>
Signed-off-by: default avatarKukjin Kim <kgene.kim@samsung.com>
parent 1f629b7a
...@@ -15,4 +15,6 @@ ...@@ -15,4 +15,6 @@
void s3c2410_restart(char mode, const char *cmd); void s3c2410_restart(char mode, const char *cmd);
void s3c244x_restart(char mode, const char *cmd); void s3c244x_restart(char mode, const char *cmd);
extern struct syscore_ops s3c24xx_irq_syscore_ops;
#endif /* __ARCH_ARM_MACH_S3C24XX_COMMON_H */ #endif /* __ARCH_ARM_MACH_S3C24XX_COMMON_H */
...@@ -15,6 +15,7 @@ ...@@ -15,6 +15,7 @@
#include <linux/module.h> #include <linux/module.h>
#include <linux/interrupt.h> #include <linux/interrupt.h>
#include <linux/irq.h> #include <linux/irq.h>
#include <linux/syscore_ops.h>
#include <plat/cpu.h> #include <plat/cpu.h>
#include <plat/pm.h> #include <plat/pm.h>
...@@ -64,7 +65,7 @@ static unsigned long save_extint[3]; ...@@ -64,7 +65,7 @@ static unsigned long save_extint[3];
static unsigned long save_eintflt[4]; static unsigned long save_eintflt[4];
static unsigned long save_eintmask; static unsigned long save_eintmask;
int s3c24xx_irq_suspend(void) static int s3c24xx_irq_suspend(void)
{ {
unsigned int i; unsigned int i;
...@@ -80,7 +81,7 @@ int s3c24xx_irq_suspend(void) ...@@ -80,7 +81,7 @@ int s3c24xx_irq_suspend(void)
return 0; return 0;
} }
void s3c24xx_irq_resume(void) static void s3c24xx_irq_resume(void)
{ {
unsigned int i; unsigned int i;
...@@ -93,3 +94,8 @@ void s3c24xx_irq_resume(void) ...@@ -93,3 +94,8 @@ void s3c24xx_irq_resume(void)
s3c_pm_do_restore(irq_save, ARRAY_SIZE(irq_save)); s3c_pm_do_restore(irq_save, ARRAY_SIZE(irq_save));
__raw_writel(save_eintmask, S3C24XX_EINTMASK); __raw_writel(save_eintmask, S3C24XX_EINTMASK);
} }
struct syscore_ops s3c24xx_irq_syscore_ops = {
.suspend = s3c24xx_irq_suspend,
.resume = s3c24xx_irq_resume,
};
...@@ -49,6 +49,8 @@ ...@@ -49,6 +49,8 @@
#include <plat/gpio-cfg.h> #include <plat/gpio-cfg.h>
#include <plat/gpio-cfg-helpers.h> #include <plat/gpio-cfg-helpers.h>
#include "common.h"
/* Initial IO mappings */ /* Initial IO mappings */
static struct map_desc s3c2410_iodesc[] __initdata = { static struct map_desc s3c2410_iodesc[] __initdata = {
...@@ -182,8 +184,8 @@ int __init s3c2410_init(void) ...@@ -182,8 +184,8 @@ int __init s3c2410_init(void)
#ifdef CONFIG_PM #ifdef CONFIG_PM
register_syscore_ops(&s3c2410_pm_syscore_ops); register_syscore_ops(&s3c2410_pm_syscore_ops);
#endif
register_syscore_ops(&s3c24xx_irq_syscore_ops); register_syscore_ops(&s3c24xx_irq_syscore_ops);
#endif
return device_register(&s3c2410_dev); return device_register(&s3c2410_dev);
} }
......
...@@ -47,6 +47,7 @@ ...@@ -47,6 +47,7 @@
#include <plat/regs-spi.h> #include <plat/regs-spi.h>
#include <plat/s3c2412.h> #include <plat/s3c2412.h>
#include "common.h"
#include "regs-dsc.h" #include "regs-dsc.h"
#define S3C2412_SWRST (S3C24XX_VA_CLKPWR + 0x30) #define S3C2412_SWRST (S3C24XX_VA_CLKPWR + 0x30)
...@@ -245,8 +246,8 @@ int __init s3c2412_init(void) ...@@ -245,8 +246,8 @@ int __init s3c2412_init(void)
#ifdef CONFIG_PM #ifdef CONFIG_PM
register_syscore_ops(&s3c2412_pm_syscore_ops); register_syscore_ops(&s3c2412_pm_syscore_ops);
#endif
register_syscore_ops(&s3c24xx_irq_syscore_ops); register_syscore_ops(&s3c24xx_irq_syscore_ops);
#endif
return device_register(&s3c2412_dev); return device_register(&s3c2412_dev);
} }
...@@ -63,6 +63,8 @@ ...@@ -63,6 +63,8 @@
#include <plat/rtc-core.h> #include <plat/rtc-core.h>
#include <plat/spi-core.h> #include <plat/spi-core.h>
#include "common.h"
static struct map_desc s3c2416_iodesc[] __initdata = { static struct map_desc s3c2416_iodesc[] __initdata = {
IODESC_ENT(WATCHDOG), IODESC_ENT(WATCHDOG),
IODESC_ENT(CLKPWR), IODESC_ENT(CLKPWR),
...@@ -105,9 +107,9 @@ int __init s3c2416_init(void) ...@@ -105,9 +107,9 @@ int __init s3c2416_init(void)
#ifdef CONFIG_PM #ifdef CONFIG_PM
register_syscore_ops(&s3c2416_pm_syscore_ops); register_syscore_ops(&s3c2416_pm_syscore_ops);
#endif
register_syscore_ops(&s3c24xx_irq_syscore_ops); register_syscore_ops(&s3c24xx_irq_syscore_ops);
register_syscore_ops(&s3c2416_irq_syscore_ops); register_syscore_ops(&s3c2416_irq_syscore_ops);
#endif
return device_register(&s3c2416_dev); return device_register(&s3c2416_dev);
} }
......
...@@ -40,6 +40,8 @@ ...@@ -40,6 +40,8 @@
#include <plat/gpio-cfg.h> #include <plat/gpio-cfg.h>
#include <plat/gpio-cfg-helpers.h> #include <plat/gpio-cfg-helpers.h>
#include "common.h"
static struct device s3c2440_dev = { static struct device s3c2440_dev = {
.bus = &s3c2440_subsys, .bus = &s3c2440_subsys,
}; };
...@@ -57,9 +59,9 @@ int __init s3c2440_init(void) ...@@ -57,9 +59,9 @@ int __init s3c2440_init(void)
#ifdef CONFIG_PM #ifdef CONFIG_PM
register_syscore_ops(&s3c2410_pm_syscore_ops); register_syscore_ops(&s3c2410_pm_syscore_ops);
register_syscore_ops(&s3c24xx_irq_syscore_ops);
#endif #endif
register_syscore_ops(&s3c244x_pm_syscore_ops); register_syscore_ops(&s3c244x_pm_syscore_ops);
register_syscore_ops(&s3c24xx_irq_syscore_ops);
/* register our system device for everything else */ /* register our system device for everything else */
......
...@@ -51,6 +51,8 @@ ...@@ -51,6 +51,8 @@
#include <plat/gpio-cfg.h> #include <plat/gpio-cfg.h>
#include <plat/gpio-cfg-helpers.h> #include <plat/gpio-cfg-helpers.h>
#include "common.h"
/* S3C2442 extended clock support */ /* S3C2442 extended clock support */
static unsigned long s3c2442_camif_upll_round(struct clk *clk, static unsigned long s3c2442_camif_upll_round(struct clk *clk,
...@@ -172,9 +174,9 @@ int __init s3c2442_init(void) ...@@ -172,9 +174,9 @@ int __init s3c2442_init(void)
#ifdef CONFIG_PM #ifdef CONFIG_PM
register_syscore_ops(&s3c2410_pm_syscore_ops); register_syscore_ops(&s3c2410_pm_syscore_ops);
register_syscore_ops(&s3c24xx_irq_syscore_ops);
#endif #endif
register_syscore_ops(&s3c244x_pm_syscore_ops); register_syscore_ops(&s3c244x_pm_syscore_ops);
register_syscore_ops(&s3c24xx_irq_syscore_ops);
return device_register(&s3c2442_dev); return device_register(&s3c2442_dev);
} }
......
...@@ -24,7 +24,6 @@ ...@@ -24,7 +24,6 @@
#include <linux/interrupt.h> #include <linux/interrupt.h>
#include <linux/ioport.h> #include <linux/ioport.h>
#include <linux/device.h> #include <linux/device.h>
#include <linux/syscore_ops.h>
#include <linux/irqdomain.h> #include <linux/irqdomain.h>
#include <asm/mach/irq.h> #include <asm/mach/irq.h>
...@@ -627,8 +626,3 @@ void __init s3c24xx_init_irq(void) ...@@ -627,8 +626,3 @@ void __init s3c24xx_init_irq(void)
s3c24xx_init_intc(NULL, &init_subint[0], main_intc, 0x4a000018); s3c24xx_init_intc(NULL, &init_subint[0], main_intc, 0x4a000018);
s3c24xx_init_intc(NULL, &init_eint[0], main_intc, 0x560000a4); s3c24xx_init_intc(NULL, &init_eint[0], main_intc, 0x560000a4);
} }
struct syscore_ops s3c24xx_irq_syscore_ops = {
.suspend = s3c24xx_irq_suspend,
.resume = s3c24xx_irq_resume,
};
...@@ -109,17 +109,11 @@ extern void s3c_pm_do_restore_core(struct sleep_save *ptr, int count); ...@@ -109,17 +109,11 @@ extern void s3c_pm_do_restore_core(struct sleep_save *ptr, int count);
#ifdef CONFIG_PM #ifdef CONFIG_PM
extern int s3c_irq_wake(struct irq_data *data, unsigned int state); extern int s3c_irq_wake(struct irq_data *data, unsigned int state);
extern int s3c_irqext_wake(struct irq_data *data, unsigned int state); extern int s3c_irqext_wake(struct irq_data *data, unsigned int state);
extern int s3c24xx_irq_suspend(void);
extern void s3c24xx_irq_resume(void);
#else #else
#define s3c_irq_wake NULL #define s3c_irq_wake NULL
#define s3c_irqext_wake NULL #define s3c_irqext_wake NULL
#define s3c24xx_irq_suspend NULL
#define s3c24xx_irq_resume NULL
#endif #endif
extern struct syscore_ops s3c24xx_irq_syscore_ops;
/* PM debug functions */ /* PM debug functions */
#ifdef CONFIG_SAMSUNG_PM_DEBUG #ifdef CONFIG_SAMSUNG_PM_DEBUG
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment