diff options
Diffstat (limited to 'arch/sh/boards/mach-x3proto/gpio.c')
-rw-r--r-- | arch/sh/boards/mach-x3proto/gpio.c | 7 |
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 | ||
55 | static void x3proto_gpio_irq_handler(unsigned int irq, struct irq_desc *desc) | 55 | static 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 | ||
71 | struct gpio_chip x3proto_gpio_chip = { | 72 | struct gpio_chip x3proto_gpio_chip = { |