aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-s3c2410/s3c244x-irq.c
diff options
context:
space:
mode:
authorBen Dooks <ben-linux@fluff.org>2006-09-15 19:01:39 -0400
committerRussell King <rmk+kernel@arm.linux.org.uk>2006-09-25 05:25:20 -0400
commit1e582fc73781da47eddd90c75bf97f191e4f450f (patch)
tree7cbfc0c3eb2b206dd3a39dbe6e00675b4c331a8b /arch/arm/mach-s3c2410/s3c244x-irq.c
parent3fc3a25ba47735296984ddbb2e6ba504017ec3e1 (diff)
[ARM] 3801/1: S3C24XX: Move IRQ PM out of pm.c
Seperate the IRQ power management code out of the pm.c file, and add it to the relevant system class devices. Also make the suspend and resume code take notice of the fact these registers can be moved by compile time code. Add fix from Ilya Yanok to also save the INTSUBMSK over sleep. 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/s3c244x-irq.c')
-rw-r--r--arch/arm/mach-s3c2410/s3c244x-irq.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/arch/arm/mach-s3c2410/s3c244x-irq.c b/arch/arm/mach-s3c2410/s3c244x-irq.c
index 44c5affa9b89..0d13546c3500 100644
--- a/arch/arm/mach-s3c2410/s3c244x-irq.c
+++ b/arch/arm/mach-s3c2410/s3c244x-irq.c
@@ -120,7 +120,9 @@ static int s3c244x_irq_add(struct sys_device *sysdev)
120} 120}
121 121
122static struct sysdev_driver s3c2440_irq_driver = { 122static struct sysdev_driver s3c2440_irq_driver = {
123 .add = s3c244x_irq_add, 123 .add = s3c244x_irq_add,
124 .suspend = s3c24xx_irq_suspend,
125 .resume = s3c24xx_irq_resume,
124}; 126};
125 127
126static int s3c2440_irq_init(void) 128static int s3c2440_irq_init(void)
@@ -131,9 +133,12 @@ static int s3c2440_irq_init(void)
131arch_initcall(s3c2440_irq_init); 133arch_initcall(s3c2440_irq_init);
132 134
133static struct sysdev_driver s3c2442_irq_driver = { 135static struct sysdev_driver s3c2442_irq_driver = {
134 .add = s3c244x_irq_add, 136 .add = s3c244x_irq_add,
137 .suspend = s3c24xx_irq_suspend,
138 .resume = s3c24xx_irq_resume,
135}; 139};
136 140
141
137static int s3c2442_irq_init(void) 142static int s3c2442_irq_init(void)
138{ 143{
139 return sysdev_driver_register(&s3c2442_sysclass, &s3c2442_irq_driver); 144 return sysdev_driver_register(&s3c2442_sysclass, &s3c2442_irq_driver);