summaryrefslogtreecommitdiff
path: root/arch/arm/mach-pxa/balloon3.c
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2015-07-13 11:58:22 +0300
committerThomas Gleixner <tglx@linutronix.de>2015-07-13 15:59:15 +0300
commit9ec97561aa6ddc1c1ef6f522a72c883781c4a67d (patch)
tree156d852f04c37f7a335a33f41c21b3ad33e6f7f7 /arch/arm/mach-pxa/balloon3.c
parent6947d04a5c49bf036c779527e4efa1d64a752513 (diff)
downloadlinux-9ec97561aa6ddc1c1ef6f522a72c883781c4a67d.tar.xz
ARM/pxa: Prepare balloon3_irq_handler for irq argument removal
The irq argument of most interrupt flow handlers is unused or merily used instead of a local variable. The handlers which need the irq argument can retrieve the irq number from the irq descriptor. While at it fix the pointless lookup of irq_data with the proper methods to retrieve the same information from the irq descriptor. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: Jiang Liu <jiang.liu@linux.intel.com> Cc: Russell King <linux+kernel@arm.linux.org.uk> Cc: linux-arm-kernel@lists.infradead.org
Diffstat (limited to 'arch/arm/mach-pxa/balloon3.c')
-rw-r--r--arch/arm/mach-pxa/balloon3.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/arch/arm/mach-pxa/balloon3.c b/arch/arm/mach-pxa/balloon3.c
index d897292712eb..4b5eb67f2529 100644
--- a/arch/arm/mach-pxa/balloon3.c
+++ b/arch/arm/mach-pxa/balloon3.c
@@ -496,18 +496,18 @@ static struct irq_chip balloon3_irq_chip = {
.irq_unmask = balloon3_unmask_irq,
};
-static void balloon3_irq_handler(unsigned int irq, struct irq_desc *desc)
+static void balloon3_irq_handler(unsigned int __irq, struct irq_desc *desc)
{
unsigned long pending = __raw_readl(BALLOON3_INT_CONTROL_REG) &
balloon3_irq_enabled;
do {
- /* clear useless edge notification */
- if (desc->irq_data.chip->irq_ack) {
- struct irq_data *d;
+ struct irq_data *d = irq_desc_get_irq_data(desc);
+ struct irq_chip *chip = irq_data_get_chip(d);
+ unsigned int irq;
- d = irq_get_irq_data(BALLOON3_AUX_NIRQ);
- desc->irq_data.chip->irq_ack(d);
- }
+ /* clear useless edge notification */
+ if (chip->irq_ack)
+ chip->irq_ack(d);
while (pending) {
irq = BALLOON3_IRQ(0) + __ffs(pending);