Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9ec97561 authored by Thomas Gleixner's avatar Thomas Gleixner
Browse files

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: default avatarThomas 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
parent 6947d04a
Loading
Loading
Loading
Loading
+7 −7
Original line number Diff line number Diff line
@@ -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);