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

Commit f26fdd59 authored by Karsten Wiese's avatar Karsten Wiese Committed by Linus Torvalds
Browse files

[PATCH] CHECK_IRQ_PER_CPU() to avoid dead code in __do_IRQ()



IRQ_PER_CPU is not used by all architectures.  This patch introduces the
macros ARCH_HAS_IRQ_PER_CPU and CHECK_IRQ_PER_CPU() to avoid the generation
of dead code in __do_IRQ().

ARCH_HAS_IRQ_PER_CPU is defined by architectures using IRQ_PER_CPU in their
include/asm_ARCH/irq.h file.

Through grepping the tree I found the following architectures currently use
IRQ_PER_CPU:

        cris, ia64, ppc, ppc64 and parisc.

Signed-off-by: default avatarKarsten Wiese <annabellesgarden@yahoo.de>
Acked-by: default avatarIngo Molnar <mingo@elte.hu>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent f8eeaaf4
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
#ifndef _ASM_IRQ_H
#define _ASM_IRQ_H

/*
 * IRQ line status macro IRQ_PER_CPU is used
 */
#define ARCH_HAS_IRQ_PER_CPU

#include <asm/arch/irq.h>

extern __inline__ int irq_canonicalize(int irq)
+5 −0
Original line number Diff line number Diff line
@@ -14,6 +14,11 @@
#define NR_IRQS		256
#define NR_IRQ_VECTORS	NR_IRQS

/*
 * IRQ line status macro IRQ_PER_CPU is used
 */
#define ARCH_HAS_IRQ_PER_CPU

static __inline__ int
irq_canonicalize (int irq)
{
+5 −0
Original line number Diff line number Diff line
@@ -26,6 +26,11 @@

#define NR_IRQS		(CPU_IRQ_MAX + 1)

/*
 * IRQ line status macro IRQ_PER_CPU is used
 */
#define ARCH_HAS_IRQ_PER_CPU

static __inline__ int irq_canonicalize(int irq)
{
	return (irq == 2) ? 9 : irq;
+5 −0
Original line number Diff line number Diff line
@@ -19,6 +19,11 @@
#define IRQ_POLARITY_POSITIVE	0x2	/* high level or low->high edge */
#define IRQ_POLARITY_NEGATIVE	0x0	/* low level or high->low edge */

/*
 * IRQ line status macro IRQ_PER_CPU is used
 */
#define ARCH_HAS_IRQ_PER_CPU

#if defined(CONFIG_40x)
#include <asm/ibm4xx.h>

+5 −0
Original line number Diff line number Diff line
@@ -33,6 +33,11 @@
#define IRQ_POLARITY_POSITIVE	0x2	/* high level or low->high edge */
#define IRQ_POLARITY_NEGATIVE	0x0	/* low level or high->low edge */

/*
 * IRQ line status macro IRQ_PER_CPU is used
 */
#define ARCH_HAS_IRQ_PER_CPU

#define get_irq_desc(irq) (&irq_desc[(irq)])

/* Define a way to iterate across irqs. */
Loading