diff options
Diffstat (limited to 'arch/arm/mach-pxa/lpd270.c')
-rw-r--r-- | arch/arm/mach-pxa/lpd270.c | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/arch/arm/mach-pxa/lpd270.c b/arch/arm/mach-pxa/lpd270.c index 8ab62a677807..c9a3e775c2de 100644 --- a/arch/arm/mach-pxa/lpd270.c +++ b/arch/arm/mach-pxa/lpd270.c | |||
@@ -95,9 +95,9 @@ static unsigned long lpd270_pin_config[] __initdata = { | |||
95 | 95 | ||
96 | static unsigned int lpd270_irq_enabled; | 96 | static unsigned int lpd270_irq_enabled; |
97 | 97 | ||
98 | static void lpd270_mask_irq(unsigned int irq) | 98 | static void lpd270_mask_irq(struct irq_data *d) |
99 | { | 99 | { |
100 | int lpd270_irq = irq - LPD270_IRQ(0); | 100 | int lpd270_irq = d->irq - LPD270_IRQ(0); |
101 | 101 | ||
102 | __raw_writew(~(1 << lpd270_irq), LPD270_INT_STATUS); | 102 | __raw_writew(~(1 << lpd270_irq), LPD270_INT_STATUS); |
103 | 103 | ||
@@ -105,9 +105,9 @@ static void lpd270_mask_irq(unsigned int irq) | |||
105 | __raw_writew(lpd270_irq_enabled, LPD270_INT_MASK); | 105 | __raw_writew(lpd270_irq_enabled, LPD270_INT_MASK); |
106 | } | 106 | } |
107 | 107 | ||
108 | static void lpd270_unmask_irq(unsigned int irq) | 108 | static void lpd270_unmask_irq(struct irq_data *d) |
109 | { | 109 | { |
110 | int lpd270_irq = irq - LPD270_IRQ(0); | 110 | int lpd270_irq = d->irq - LPD270_IRQ(0); |
111 | 111 | ||
112 | lpd270_irq_enabled |= 1 << lpd270_irq; | 112 | lpd270_irq_enabled |= 1 << lpd270_irq; |
113 | __raw_writew(lpd270_irq_enabled, LPD270_INT_MASK); | 113 | __raw_writew(lpd270_irq_enabled, LPD270_INT_MASK); |
@@ -115,9 +115,9 @@ static void lpd270_unmask_irq(unsigned int irq) | |||
115 | 115 | ||
116 | static struct irq_chip lpd270_irq_chip = { | 116 | static struct irq_chip lpd270_irq_chip = { |
117 | .name = "CPLD", | 117 | .name = "CPLD", |
118 | .ack = lpd270_mask_irq, | 118 | .irq_ack = lpd270_mask_irq, |
119 | .mask = lpd270_mask_irq, | 119 | .irq_mask = lpd270_mask_irq, |
120 | .unmask = lpd270_unmask_irq, | 120 | .irq_unmask = lpd270_unmask_irq, |
121 | }; | 121 | }; |
122 | 122 | ||
123 | static void lpd270_irq_handler(unsigned int irq, struct irq_desc *desc) | 123 | static void lpd270_irq_handler(unsigned int irq, struct irq_desc *desc) |
@@ -126,7 +126,8 @@ static void lpd270_irq_handler(unsigned int irq, struct irq_desc *desc) | |||
126 | 126 | ||
127 | pending = __raw_readw(LPD270_INT_STATUS) & lpd270_irq_enabled; | 127 | pending = __raw_readw(LPD270_INT_STATUS) & lpd270_irq_enabled; |
128 | do { | 128 | do { |
129 | desc->chip->ack(irq); /* clear useless edge notification */ | 129 | /* clear useless edge notification */ |
130 | desc->irq_data.chip->irq_ack(&desc->irq_data); | ||
130 | if (likely(pending)) { | 131 | if (likely(pending)) { |
131 | irq = LPD270_IRQ(0) + __ffs(pending); | 132 | irq = LPD270_IRQ(0) + __ffs(pending); |
132 | generic_handle_irq(irq); | 133 | generic_handle_irq(irq); |