aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMark Brown <broonie@opensource.wolfsonmicro.com>2010-12-02 00:35:38 -0500
committerKukjin Kim <kgene.kim@samsung.com>2010-12-29 19:36:52 -0500
commitf5aeffb784f35f82b048969a4d7bcca42c783c84 (patch)
tree7f6a3b4361787748790248a9f31833fc4b2f8fa6
parent387c31c7e5c9805b0aef8833d1731a5fe7bdea14 (diff)
ARM: SAMSUNG: Convert s3c_irqext_wake() to new irq_ interrupt methods
Kernel 2.6.37 adds new interrupt methods which take a struct irq_data rather than an irq number. Begin converting Samsung platforms over to these methods by converting s3c_irqext_wake() with a simple textual substitution. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Cc: Ben Dooks <ben-linux@fluff.org> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
-rw-r--r--arch/arm/mach-s3c64xx/irq-eint.c2
-rw-r--r--arch/arm/mach-s5pv310/irq-eint.c2
-rw-r--r--arch/arm/plat-s3c24xx/irq.c2
-rw-r--r--arch/arm/plat-s5p/irq-eint.c4
-rw-r--r--arch/arm/plat-samsung/include/plat/pm.h4
-rw-r--r--arch/arm/plat-samsung/pm.c6
6 files changed, 11 insertions, 9 deletions
diff --git a/arch/arm/mach-s3c64xx/irq-eint.c b/arch/arm/mach-s3c64xx/irq-eint.c
index 5682d6a7f4af..1a1aa5da431d 100644
--- a/arch/arm/mach-s3c64xx/irq-eint.c
+++ b/arch/arm/mach-s3c64xx/irq-eint.c
@@ -145,7 +145,7 @@ static struct irq_chip s3c_irq_eint = {
145 .mask_ack = s3c_irq_eint_maskack, 145 .mask_ack = s3c_irq_eint_maskack,
146 .ack = s3c_irq_eint_ack, 146 .ack = s3c_irq_eint_ack,
147 .set_type = s3c_irq_eint_set_type, 147 .set_type = s3c_irq_eint_set_type,
148 .set_wake = s3c_irqext_wake, 148 .irq_set_wake = s3c_irqext_wake,
149}; 149};
150 150
151/* s3c_irq_demux_eint 151/* s3c_irq_demux_eint
diff --git a/arch/arm/mach-s5pv310/irq-eint.c b/arch/arm/mach-s5pv310/irq-eint.c
index 5877503e92c3..f5a415edc0b6 100644
--- a/arch/arm/mach-s5pv310/irq-eint.c
+++ b/arch/arm/mach-s5pv310/irq-eint.c
@@ -152,7 +152,7 @@ static struct irq_chip s5pv310_irq_eint = {
152 .ack = s5pv310_irq_eint_ack, 152 .ack = s5pv310_irq_eint_ack,
153 .set_type = s5pv310_irq_eint_set_type, 153 .set_type = s5pv310_irq_eint_set_type,
154#ifdef CONFIG_PM 154#ifdef CONFIG_PM
155 .set_wake = s3c_irqext_wake, 155 .irq_set_wake = s3c_irqext_wake,
156#endif 156#endif
157}; 157};
158 158
diff --git a/arch/arm/plat-s3c24xx/irq.c b/arch/arm/plat-s3c24xx/irq.c
index ad0d44ef1f93..91ce38393ba6 100644
--- a/arch/arm/plat-s3c24xx/irq.c
+++ b/arch/arm/plat-s3c24xx/irq.c
@@ -238,7 +238,7 @@ static struct irq_chip s3c_irqext_chip = {
238 .unmask = s3c_irqext_unmask, 238 .unmask = s3c_irqext_unmask,
239 .ack = s3c_irqext_ack, 239 .ack = s3c_irqext_ack,
240 .set_type = s3c_irqext_type, 240 .set_type = s3c_irqext_type,
241 .set_wake = s3c_irqext_wake 241 .irq_set_wake = s3c_irqext_wake
242}; 242};
243 243
244static struct irq_chip s3c_irq_eint0t4 = { 244static struct irq_chip s3c_irq_eint0t4 = {
diff --git a/arch/arm/plat-s5p/irq-eint.c b/arch/arm/plat-s5p/irq-eint.c
index 752f1a645f9d..f2f2e1ccd0e6 100644
--- a/arch/arm/plat-s5p/irq-eint.c
+++ b/arch/arm/plat-s5p/irq-eint.c
@@ -125,7 +125,7 @@ static struct irq_chip s5p_irq_eint = {
125 .ack = s5p_irq_eint_ack, 125 .ack = s5p_irq_eint_ack,
126 .set_type = s5p_irq_eint_set_type, 126 .set_type = s5p_irq_eint_set_type,
127#ifdef CONFIG_PM 127#ifdef CONFIG_PM
128 .set_wake = s3c_irqext_wake, 128 .irq_set_wake = s3c_irqext_wake,
129#endif 129#endif
130}; 130};
131 131
@@ -194,7 +194,7 @@ static struct irq_chip s5p_irq_vic_eint = {
194 .ack = s5p_irq_vic_eint_ack, 194 .ack = s5p_irq_vic_eint_ack,
195 .set_type = s5p_irq_eint_set_type, 195 .set_type = s5p_irq_eint_set_type,
196#ifdef CONFIG_PM 196#ifdef CONFIG_PM
197 .set_wake = s3c_irqext_wake, 197 .irq_set_wake = s3c_irqext_wake,
198#endif 198#endif
199}; 199};
200 200
diff --git a/arch/arm/plat-samsung/include/plat/pm.h b/arch/arm/plat-samsung/include/plat/pm.h
index 245836d91931..d9025e377675 100644
--- a/arch/arm/plat-samsung/include/plat/pm.h
+++ b/arch/arm/plat-samsung/include/plat/pm.h
@@ -15,6 +15,8 @@
15 * management 15 * management
16*/ 16*/
17 17
18#include <linux/irq.h>
19
18#ifdef CONFIG_PM 20#ifdef CONFIG_PM
19 21
20extern __init int s3c_pm_init(void); 22extern __init int s3c_pm_init(void);
@@ -100,7 +102,7 @@ extern void s3c_pm_do_restore(struct sleep_save *ptr, int count);
100extern void s3c_pm_do_restore_core(struct sleep_save *ptr, int count); 102extern void s3c_pm_do_restore_core(struct sleep_save *ptr, int count);
101 103
102#ifdef CONFIG_PM 104#ifdef CONFIG_PM
103extern int s3c_irqext_wake(unsigned int irqno, unsigned int state); 105extern int s3c_irqext_wake(struct irq_data *data, unsigned int state);
104extern int s3c24xx_irq_suspend(struct sys_device *dev, pm_message_t state); 106extern int s3c24xx_irq_suspend(struct sys_device *dev, pm_message_t state);
105extern int s3c24xx_irq_resume(struct sys_device *dev); 107extern int s3c24xx_irq_resume(struct sys_device *dev);
106#else 108#else
diff --git a/arch/arm/plat-samsung/pm.c b/arch/arm/plat-samsung/pm.c
index 27cfca597699..eaa57dc969ae 100644
--- a/arch/arm/plat-samsung/pm.c
+++ b/arch/arm/plat-samsung/pm.c
@@ -136,15 +136,15 @@ static void s3c_pm_restore_uarts(void) { }
136unsigned long s3c_irqwake_intmask = 0xffffffffL; 136unsigned long s3c_irqwake_intmask = 0xffffffffL;
137unsigned long s3c_irqwake_eintmask = 0xffffffffL; 137unsigned long s3c_irqwake_eintmask = 0xffffffffL;
138 138
139int s3c_irqext_wake(unsigned int irqno, unsigned int state) 139int s3c_irqext_wake(struct irq_data *data, unsigned int state)
140{ 140{
141 unsigned long bit = 1L << IRQ_EINT_BIT(irqno); 141 unsigned long bit = 1L << IRQ_EINT_BIT(data->irq);
142 142
143 if (!(s3c_irqwake_eintallow & bit)) 143 if (!(s3c_irqwake_eintallow & bit))
144 return -ENOENT; 144 return -ENOENT;
145 145
146 printk(KERN_INFO "wake %s for irq %d\n", 146 printk(KERN_INFO "wake %s for irq %d\n",
147 state ? "enabled" : "disabled", irqno); 147 state ? "enabled" : "disabled", data->irq);
148 148
149 if (!state) 149 if (!state)
150 s3c_irqwake_eintmask |= bit; 150 s3c_irqwake_eintmask |= bit;