aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sh/boards/mach-x3proto/gpio.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/sh/boards/mach-x3proto/gpio.c')
-rw-r--r--arch/sh/boards/mach-x3proto/gpio.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/arch/sh/boards/mach-x3proto/gpio.c b/arch/sh/boards/mach-x3proto/gpio.c
index 594adf76e46a..239e74066253 100644
--- a/arch/sh/boards/mach-x3proto/gpio.c
+++ b/arch/sh/boards/mach-x3proto/gpio.c
@@ -54,18 +54,19 @@ static int x3proto_gpio_to_irq(struct gpio_chip *chip, unsigned gpio)
54 54
55static void x3proto_gpio_irq_handler(unsigned int irq, struct irq_desc *desc) 55static void x3proto_gpio_irq_handler(unsigned int irq, struct irq_desc *desc)
56{ 56{
57 struct irq_chip *chip = get_irq_desc_chip(desc); 57 struct irq_data *data = irq_get_irq_data(irq);
58 struct irq_chip *chip = irq_data_get_irq_chip(data);
58 unsigned long mask; 59 unsigned long mask;
59 int pin; 60 int pin;
60 61
61 chip->mask_ack(irq); 62 chip->irq_mask_ack(data);
62 63
63 mask = __raw_readw(KEYDETR); 64 mask = __raw_readw(KEYDETR);
64 65
65 for_each_set_bit(pin, &mask, NR_BASEBOARD_GPIOS) 66 for_each_set_bit(pin, &mask, NR_BASEBOARD_GPIOS)
66 generic_handle_irq(x3proto_gpio_to_irq(NULL, pin)); 67 generic_handle_irq(x3proto_gpio_to_irq(NULL, pin));
67 68
68 chip->unmask(irq); 69 chip->irq_unmask(data);
69} 70}
70 71
71struct gpio_chip x3proto_gpio_chip = { 72struct gpio_chip x3proto_gpio_chip = {