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

Commit 3cca53b0 authored by Thomas Gleixner's avatar Thomas Gleixner Committed by Linus Torvalds
Browse files

[PATCH] irq-flags: generic irq: Use the new IRQF_ constants



Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent 85ac3ab2
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -113,7 +113,7 @@ irqreturn_t handle_IRQ_event(unsigned int irq, struct pt_regs *regs,
	irqreturn_t ret, retval = IRQ_NONE;
	unsigned int status = 0;

	if (!(action->flags & SA_INTERRUPT))
	if (!(action->flags & IRQF_DISABLED))
		local_irq_enable();

	do {
@@ -124,7 +124,7 @@ irqreturn_t handle_IRQ_event(unsigned int irq, struct pt_regs *regs,
		action = action->next;
	} while (action);

	if (status & SA_SAMPLE_RANDOM)
	if (status & IRQF_SAMPLE_RANDOM)
		add_interrupt_randomness(irq);
	local_irq_disable();

+19 −19
Original line number Diff line number Diff line
@@ -167,7 +167,7 @@ int can_request_irq(unsigned int irq, unsigned long irqflags)

	action = irq_desc[irq].action;
	if (action)
		if (irqflags & action->flags & SA_SHIRQ)
		if (irqflags & action->flags & IRQF_SHARED)
			action = NULL;

	return !action;
@@ -205,7 +205,7 @@ int setup_irq(unsigned int irq, struct irqaction *new)
	 * so we have to be careful not to interfere with a
	 * running system.
	 */
	if (new->flags & SA_SAMPLE_RANDOM) {
	if (new->flags & IRQF_SAMPLE_RANDOM) {
		/*
		 * This function might sleep, we want to call it first,
		 * outside of the atomic block.
@@ -227,17 +227,17 @@ int setup_irq(unsigned int irq, struct irqaction *new)
		/*
		 * Can't share interrupts unless both agree to and are
		 * the same type (level, edge, polarity). So both flag
		 * fields must have SA_SHIRQ set and the bits which
		 * fields must have IRQF_SHARED set and the bits which
		 * set the trigger type must match.
		 */
		if (!((old->flags & new->flags) & SA_SHIRQ) ||
		    ((old->flags ^ new->flags) & SA_TRIGGER_MASK))
		if (!((old->flags & new->flags) & IRQF_SHARED) ||
		    ((old->flags ^ new->flags) & IRQF_TRIGGER_MASK))
			goto mismatch;

#if defined(CONFIG_IRQ_PER_CPU) && defined(SA_PERCPU_IRQ)
#if defined(CONFIG_IRQ_PER_CPU) && defined(IRQF_PERCPU)
		/* All handlers must agree on per-cpuness */
		if ((old->flags & SA_PERCPU_IRQ) !=
		    (new->flags & SA_PERCPU_IRQ))
		if ((old->flags & IRQF_PERCPU) !=
		    (new->flags & IRQF_PERCPU))
			goto mismatch;
#endif

@@ -250,24 +250,24 @@ int setup_irq(unsigned int irq, struct irqaction *new)
	}

	*p = new;
#if defined(CONFIG_IRQ_PER_CPU) && defined(SA_PERCPU_IRQ)
	if (new->flags & SA_PERCPU_IRQ)
#if defined(CONFIG_IRQ_PER_CPU) && defined(IRQF_PERCPU)
	if (new->flags & IRQF_PERCPU)
		desc->status |= IRQ_PER_CPU;
#endif
	if (!shared) {
		irq_chip_set_defaults(desc->chip);

		/* Setup the type (level, edge polarity) if configured: */
		if (new->flags & SA_TRIGGER_MASK) {
		if (new->flags & IRQF_TRIGGER_MASK) {
			if (desc->chip && desc->chip->set_type)
				desc->chip->set_type(irq,
						new->flags & SA_TRIGGER_MASK);
						new->flags & IRQF_TRIGGER_MASK);
			else
				/*
				 * SA_TRIGGER_* but the PIC does not support
				 * IRQF_TRIGGER_* but the PIC does not support
				 * multiple flow-types?
				 */
				printk(KERN_WARNING "No SA_TRIGGER set_type "
				printk(KERN_WARNING "No IRQF_TRIGGER set_type "
				       "function for IRQ %d (%s)\n", irq,
				       desc->chip ? desc->chip->name :
				       "unknown");
@@ -299,7 +299,7 @@ int setup_irq(unsigned int irq, struct irqaction *new)

mismatch:
	spin_unlock_irqrestore(&desc->lock, flags);
	if (!(new->flags & SA_PROBEIRQ)) {
	if (!(new->flags & IRQF_PROBE_SHARED)) {
		printk(KERN_ERR "IRQ handler type mismatch for IRQ %d\n", irq);
		dump_stack();
	}
@@ -398,9 +398,9 @@ EXPORT_SYMBOL(free_irq);
 *
 *	Flags:
 *
 *	SA_SHIRQ		Interrupt is shared
 *	SA_INTERRUPT		Disable local interrupts while processing
 *	SA_SAMPLE_RANDOM	The interrupt can be used for entropy
 *	IRQF_SHARED		Interrupt is shared
 *	IRQF_DISABLED	Disable local interrupts while processing
 *	IRQF_SAMPLE_RANDOM	The interrupt can be used for entropy
 *
 */
int request_irq(unsigned int irq,
@@ -416,7 +416,7 @@ int request_irq(unsigned int irq,
	 * which interrupt is which (messes up the interrupt freeing
	 * logic etc).
	 */
	if ((irqflags & SA_SHIRQ) && !dev_id)
	if ((irqflags & IRQF_SHARED) && !dev_id)
		return -EINVAL;
	if (irq >= NR_IRQS)
		return -EINVAL;
+2 −2
Original line number Diff line number Diff line
@@ -36,7 +36,7 @@ static int misrouted_irq(int irq, struct pt_regs *regs)
			 * Already running: If it is shared get the other
			 * CPU to go looking for our mystery interrupt too
			 */
			if (desc->action && (desc->action->flags & SA_SHIRQ))
			if (desc->action && (desc->action->flags & IRQF_SHARED))
				desc->status |= IRQ_PENDING;
			spin_unlock(&desc->lock);
			continue;
@@ -48,7 +48,7 @@ static int misrouted_irq(int irq, struct pt_regs *regs)

		while (action) {
			/* Only shared IRQ handlers are safe to call */
			if (action->flags & SA_SHIRQ) {
			if (action->flags & IRQF_SHARED) {
				if (action->handler(i, action->dev_id, regs) ==
						IRQ_HANDLED)
					ok = 1;