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

Commit ed293d1a authored by Rob Herring's avatar Rob Herring Committed by Tony Lindgren
Browse files

memory: kill off set_irq_flags usage



set_irq_flags is ARM specific with custom flags which have genirq
equivalents. Convert drivers to use the genirq interfaces directly, so we
can kill off set_irq_flags. The translation of flags is as follows:

IRQF_VALID -> !IRQ_NOREQUEST
IRQF_PROBE -> !IRQ_NOPROBE
IRQF_NOAUTOEN -> IRQ_NOAUTOEN

For IRQs managed by an irqdomain, the irqdomain core code handles clearing
and setting IRQ_NOREQUEST already, so there is no need to do this in
.map() functions and we can simply remove the set_irq_flags calls. Some
users also set IRQ_NOPROBE and this has been maintained although it is not
clear that is really needed. There appears to be a great deal of blind
copy and paste of this code.

Signed-off-by: default avatarRob Herring <robh@kernel.org>
Acked-by: default avatarRoger Quadros <rogerq@ti.com>
Cc: linux-omap@vger.kernel.org
Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
parent 9610c8ab
Loading
Loading
Loading
Loading
+2 −3
Original line number Diff line number Diff line
@@ -1176,8 +1176,8 @@ static int gpmc_setup_irq(void)
		gpmc_client_irq[i].irq = gpmc_irq_start + i;
		irq_set_chip_and_handler(gpmc_client_irq[i].irq,
					&gpmc_irq_chip, handle_simple_irq);
		set_irq_flags(gpmc_client_irq[i].irq,
				IRQF_VALID | IRQF_NOAUTOEN);
		irq_modify_status(gpmc_client_irq[i].irq, IRQ_NOREQUEST,
				  IRQ_NOAUTOEN);
	}

	/* Disable interrupts */
@@ -1200,7 +1200,6 @@ static int gpmc_free_irq(void)
	for (i = 0; i < GPMC_NR_IRQ; i++) {
		irq_set_handler(gpmc_client_irq[i].irq, NULL);
		irq_set_chip(gpmc_client_irq[i].irq, &no_irq_chip);
		irq_modify_status(gpmc_client_irq[i].irq, 0, 0);
	}

	irq_free_descs(gpmc_irq_start, GPMC_NR_IRQ);