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

Commit 99d093d1 authored by Yinghai Lu's avatar Yinghai Lu Committed by Ingo Molnar
Browse files

x86: use NR_IRQS_LEGACY



Impact: cleanup

Introduce NR_IRQS_LEGACY instead of hard coded number.

Signed-off-by: default avatarYinghai Lu <yinghai@kernel.org>
Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
parent 0b8f1efa
Loading
Loading
Loading
Loading
+2 −0
Original line number Original line Diff line number Diff line
@@ -101,6 +101,8 @@
#define LAST_VM86_IRQ		15
#define LAST_VM86_IRQ		15
#define invalid_vm86_irq(irq)	((irq) < 3 || (irq) > 15)
#define invalid_vm86_irq(irq)	((irq) < 3 || (irq) > 15)


#define NR_IRQS_LEGACY		16

#if defined(CONFIG_X86_IO_APIC) && !defined(CONFIG_X86_VOYAGER)
#if defined(CONFIG_X86_IO_APIC) && !defined(CONFIG_X86_VOYAGER)


#ifndef CONFIG_SPARSE_IRQ
#ifndef CONFIG_SPARSE_IRQ
+5 −5
Original line number Original line Diff line number Diff line
@@ -847,7 +847,7 @@ EXPORT_SYMBOL(IO_APIC_get_PCI_irq_vector);
 */
 */
static int EISA_ELCR(unsigned int irq)
static int EISA_ELCR(unsigned int irq)
{
{
	if (irq < 16) {
	if (irq < NR_IRQS_LEGACY) {
		unsigned int port = 0x4d0 + (irq >> 3);
		unsigned int port = 0x4d0 + (irq >> 3);
		return (inb(port) >> (irq & 7)) & 1;
		return (inb(port) >> (irq & 7)) & 1;
	}
	}
@@ -1388,7 +1388,7 @@ static void setup_IO_APIC_irq(int apic, int pin, unsigned int irq,
	}
	}


	ioapic_register_intr(irq, trigger);
	ioapic_register_intr(irq, trigger);
	if (irq < 16)
	if (irq < NR_IRQS_LEGACY)
		disable_8259A_irq(irq);
		disable_8259A_irq(irq);


	ioapic_write_entry(apic, pin, entry);
	ioapic_write_entry(apic, pin, entry);
@@ -2080,7 +2080,7 @@ static unsigned int startup_ioapic_irq(unsigned int irq)
	struct irq_cfg *cfg;
	struct irq_cfg *cfg;


	spin_lock_irqsave(&ioapic_lock, flags);
	spin_lock_irqsave(&ioapic_lock, flags);
	if (irq < 16) {
	if (irq < NR_IRQS_LEGACY) {
		disable_8259A_irq(irq);
		disable_8259A_irq(irq);
		if (i8259A_irq_pending(irq))
		if (i8259A_irq_pending(irq))
			was_pending = 1;
			was_pending = 1;
@@ -2504,7 +2504,7 @@ static inline void init_IO_APIC_traps(void)
			 * so default to an old-fashioned 8259
			 * so default to an old-fashioned 8259
			 * interrupt if we can..
			 * interrupt if we can..
			 */
			 */
			if (irq < 16)
			if (irq < NR_IRQS_LEGACY)
				make_8259A_irq(irq);
				make_8259A_irq(irq);
			else
			else
				/* Strange. Oh, well.. */
				/* Strange. Oh, well.. */
@@ -3794,7 +3794,7 @@ int io_apic_set_pci_routing (int ioapic, int pin, int irq, int triggering, int p
	/*
	/*
	 * IRQs < 16 are already in the irq_2_pin[] map
	 * IRQs < 16 are already in the irq_2_pin[] map
	 */
	 */
	if (irq >= 16) {
	if (irq >= NR_IRQS_LEGACY) {
		cfg = desc->chip_data;
		cfg = desc->chip_data;
		add_pin_to_irq_cpu(irq, cpu, ioapic, pin);
		add_pin_to_irq_cpu(irq, cpu, ioapic, pin);
	}
	}
+1 −1
Original line number Original line Diff line number Diff line
@@ -68,7 +68,7 @@ void __init init_ISA_irqs (void)
	/*
	/*
	 * 16 old-style INTA-cycle interrupts:
	 * 16 old-style INTA-cycle interrupts:
	 */
	 */
	for (i = 0; i < 16; i++) {
	for (i = 0; i < NR_IRQS_LEGACY; i++) {
		struct irq_desc *desc = irq_to_desc(i);
		struct irq_desc *desc = irq_to_desc(i);


		desc->status = IRQ_DISABLED;
		desc->status = IRQ_DISABLED;
+1 −1
Original line number Original line Diff line number Diff line
@@ -142,7 +142,7 @@ void __init init_ISA_irqs(void)
	init_bsp_APIC();
	init_bsp_APIC();
	init_8259A(0);
	init_8259A(0);


	for (i = 0; i < 16; i++) {
	for (i = 0; i < NR_IRQS_LEGACY; i++) {
		struct irq_desc *desc = irq_to_desc(i);
		struct irq_desc *desc = irq_to_desc(i);


		desc->status = IRQ_DISABLED;
		desc->status = IRQ_DISABLED;
+3 −3
Original line number Original line Diff line number Diff line
@@ -117,8 +117,8 @@ static DEFINE_SPINLOCK(sparse_irq_lock);


struct irq_desc *irq_desc_ptrs[NR_IRQS] __read_mostly;
struct irq_desc *irq_desc_ptrs[NR_IRQS] __read_mostly;


static struct irq_desc irq_desc_legacy[16] __cacheline_aligned_in_smp = {
static struct irq_desc irq_desc_legacy[NR_IRQS_LEGACY] __cacheline_aligned_in_smp = {
	[0 ... 15] = {
	[0 ... NR_IRQS_LEGACY-1] = {
		.irq	    = -1,
		.irq	    = -1,
		.status	    = IRQ_DISABLED,
		.status	    = IRQ_DISABLED,
		.chip	    = &no_irq_chip,
		.chip	    = &no_irq_chip,
@@ -132,7 +132,7 @@ static struct irq_desc irq_desc_legacy[16] __cacheline_aligned_in_smp = {
};
};


/* FIXME: use bootmem alloc ...*/
/* FIXME: use bootmem alloc ...*/
static unsigned int kstat_irqs_legacy[16][NR_CPUS];
static unsigned int kstat_irqs_legacy[NR_IRQS_LEGACY][NR_CPUS];


void __init early_irq_init(void)
void __init early_irq_init(void)
{
{