summaryrefslogtreecommitdiff
path: root/arch/arm/plat-orion
diff options
context:
space:
mode:
authorOlof Johansson <olof@lixom.net>2015-08-05 17:24:11 +0200
committerOlof Johansson <olof@lixom.net>2015-08-05 17:24:11 +0200
commit39aa437e18cac7acae55481ed73feea0de497399 (patch)
tree4fdc318fa03eb089e8497f981943f3a05053739f /arch/arm/plat-orion
parente8d36d5dbb6a6ec4f5222f8775d664ec29d5527d (diff)
parentf4acd122a738d0601de3a96743859b9c7a82bd6a (diff)
Merge branch 'queue/irq/arm' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip into next/cleanup
Merge "ARM: Interrupt cleanups and API change preparation" from Thomas Gleixner: The following patch series contains the following changes: - Consolidation of chained interrupt handler setup/removal - Switch to functions which avoid a redundant interrupt descriptor lookup - Preparation of interrupt flow handlers for the 'irq' argument removal * 'queue/irq/arm' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: ARM/orion/gpio: Prepare gpio_irq_handler for irq argument removal ARM/pxa: Prepare balloon3_irq_handler for irq argument removal ARM/pxa: Prepare *_irq_handler for irq argument removal ARM/dove: Prepare pmu_irq_handler for irq argument removal ARM/sa1111: Prepare sa1111_irq_handler for irq argument removal ARM/locomo: Prepare locomo_handler for irq argument removal ARM, irq: Use irq_desc_get_xxx() to avoid redundant lookup of irq_desc ARM/LPC32xx: Use irq_set_handler_locked() ARM/irq: Use access helper irq_data_get_affinity_mask() ARM/locomo: Consolidate chained IRQ handler install/remove ARM/orion: Consolidate chained IRQ handler install/remove Signed-off-by: Olof Johansson <olof@lixom.net>
Diffstat (limited to 'arch/arm/plat-orion')
-rw-r--r--arch/arm/plat-orion/gpio.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/arch/arm/plat-orion/gpio.c b/arch/arm/plat-orion/gpio.c
index 5168a52a17f9..79c33eca09a3 100644
--- a/arch/arm/plat-orion/gpio.c
+++ b/arch/arm/plat-orion/gpio.c
@@ -407,9 +407,9 @@ static int gpio_irq_set_type(struct irq_data *d, u32 type)
return 0;
}
-static void gpio_irq_handler(unsigned irq, struct irq_desc *desc)
+static void gpio_irq_handler(unsigned __irq, struct irq_desc *desc)
{
- struct orion_gpio_chip *ochip = irq_get_handler_data(irq);
+ struct orion_gpio_chip *ochip = irq_desc_get_handler_data(desc);
u32 cause, type;
int i;
@@ -582,8 +582,9 @@ void __init orion_gpio_init(struct device_node *np,
for (i = 0; i < 4; i++) {
if (irqs[i]) {
- irq_set_handler_data(irqs[i], ochip);
- irq_set_chained_handler(irqs[i], gpio_irq_handler);
+ irq_set_chained_handler_and_data(irqs[i],
+ gpio_irq_handler,
+ ochip);
}
}