diff options
author | Jiri Kosina <jkosina@suse.cz> | 2011-02-15 04:24:31 -0500 |
---|---|---|
committer | Jiri Kosina <jkosina@suse.cz> | 2011-02-15 04:24:31 -0500 |
commit | 0a9d59a2461477bd9ed143c01af9df3f8f00fa81 (patch) | |
tree | df997d1cfb0786427a0df1fbd6f0640fa4248cf4 /arch/arm/mach-lh7a40x/arch-lpd7a40x.c | |
parent | a23ce6da9677d245aa0aadc99f4197030350ab54 (diff) | |
parent | 795abaf1e4e188c4171e3cd3dbb11a9fcacaf505 (diff) |
Merge branch 'master' into for-next
Diffstat (limited to 'arch/arm/mach-lh7a40x/arch-lpd7a40x.c')
-rw-r--r-- | arch/arm/mach-lh7a40x/arch-lpd7a40x.c | 25 |
1 files changed, 13 insertions, 12 deletions
diff --git a/arch/arm/mach-lh7a40x/arch-lpd7a40x.c b/arch/arm/mach-lh7a40x/arch-lpd7a40x.c index 7315a569aea..e735546181a 100644 --- a/arch/arm/mach-lh7a40x/arch-lpd7a40x.c +++ b/arch/arm/mach-lh7a40x/arch-lpd7a40x.c | |||
@@ -159,7 +159,7 @@ static void __init lpd7a40x_init (void) | |||
159 | #endif | 159 | #endif |
160 | } | 160 | } |
161 | 161 | ||
162 | static void lh7a40x_ack_cpld_irq (u32 irq) | 162 | static void lh7a40x_ack_cpld_irq(struct irq_data *d) |
163 | { | 163 | { |
164 | /* CPLD doesn't have ack capability, but some devices may */ | 164 | /* CPLD doesn't have ack capability, but some devices may */ |
165 | 165 | ||
@@ -167,14 +167,14 @@ static void lh7a40x_ack_cpld_irq (u32 irq) | |||
167 | /* The touch control *must* mask the interrupt because the | 167 | /* The touch control *must* mask the interrupt because the |
168 | * interrupt bit is read by the driver to determine if the pen | 168 | * interrupt bit is read by the driver to determine if the pen |
169 | * is still down. */ | 169 | * is still down. */ |
170 | if (irq == IRQ_TOUCH) | 170 | if (d->irq == IRQ_TOUCH) |
171 | CPLD_INTERRUPTS |= CPLD_INTMASK_TOUCH; | 171 | CPLD_INTERRUPTS |= CPLD_INTMASK_TOUCH; |
172 | #endif | 172 | #endif |
173 | } | 173 | } |
174 | 174 | ||
175 | static void lh7a40x_mask_cpld_irq (u32 irq) | 175 | static void lh7a40x_mask_cpld_irq(struct irq_data *d) |
176 | { | 176 | { |
177 | switch (irq) { | 177 | switch (d->irq) { |
178 | case IRQ_LPD7A40X_ETH_INT: | 178 | case IRQ_LPD7A40X_ETH_INT: |
179 | CPLD_INTERRUPTS |= CPLD_INTMASK_ETHERNET; | 179 | CPLD_INTERRUPTS |= CPLD_INTMASK_ETHERNET; |
180 | break; | 180 | break; |
@@ -186,9 +186,9 @@ static void lh7a40x_mask_cpld_irq (u32 irq) | |||
186 | } | 186 | } |
187 | } | 187 | } |
188 | 188 | ||
189 | static void lh7a40x_unmask_cpld_irq (u32 irq) | 189 | static void lh7a40x_unmask_cpld_irq(struct irq_data *d) |
190 | { | 190 | { |
191 | switch (irq) { | 191 | switch (d->irq) { |
192 | case IRQ_LPD7A40X_ETH_INT: | 192 | case IRQ_LPD7A40X_ETH_INT: |
193 | CPLD_INTERRUPTS &= ~CPLD_INTMASK_ETHERNET; | 193 | CPLD_INTERRUPTS &= ~CPLD_INTMASK_ETHERNET; |
194 | break; | 194 | break; |
@@ -201,17 +201,17 @@ static void lh7a40x_unmask_cpld_irq (u32 irq) | |||
201 | } | 201 | } |
202 | 202 | ||
203 | static struct irq_chip lpd7a40x_cpld_chip = { | 203 | static struct irq_chip lpd7a40x_cpld_chip = { |
204 | .name = "CPLD", | 204 | .name = "CPLD", |
205 | .ack = lh7a40x_ack_cpld_irq, | 205 | .irq_ack = lh7a40x_ack_cpld_irq, |
206 | .mask = lh7a40x_mask_cpld_irq, | 206 | .irq_mask = lh7a40x_mask_cpld_irq, |
207 | .unmask = lh7a40x_unmask_cpld_irq, | 207 | .irq_unmask = lh7a40x_unmask_cpld_irq, |
208 | }; | 208 | }; |
209 | 209 | ||
210 | static void lpd7a40x_cpld_handler (unsigned int irq, struct irq_desc *desc) | 210 | static void lpd7a40x_cpld_handler (unsigned int irq, struct irq_desc *desc) |
211 | { | 211 | { |
212 | unsigned int mask = CPLD_INTERRUPTS; | 212 | unsigned int mask = CPLD_INTERRUPTS; |
213 | 213 | ||
214 | desc->chip->ack (irq); | 214 | desc->irq_data.chip->irq_ack(&desc->irq_data); |
215 | 215 | ||
216 | if ((mask & (1<<0)) == 0) /* WLAN */ | 216 | if ((mask & (1<<0)) == 0) /* WLAN */ |
217 | generic_handle_irq(IRQ_LPD7A40X_ETH_INT); | 217 | generic_handle_irq(IRQ_LPD7A40X_ETH_INT); |
@@ -221,7 +221,8 @@ static void lpd7a40x_cpld_handler (unsigned int irq, struct irq_desc *desc) | |||
221 | generic_handle_irq(IRQ_TOUCH); | 221 | generic_handle_irq(IRQ_TOUCH); |
222 | #endif | 222 | #endif |
223 | 223 | ||
224 | desc->chip->unmask (irq); /* Level-triggered need this */ | 224 | /* Level-triggered need this */ |
225 | desc->irq_data.chip->irq_unmask(&desc->irq_data); | ||
225 | } | 226 | } |
226 | 227 | ||
227 | 228 | ||