diff options
author | Eric W. Biederman <ebiederm@xmission.com> | 2006-10-08 09:43:46 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-10-08 15:24:02 -0400 |
commit | b940d22d58c41b2ae491dca9232850f6f38f3653 (patch) | |
tree | 86a6a44c791ac55f1ea0f76f61248df55d20cf6a /arch | |
parent | 7da5d406792eedb5341a8c20296470b2e67743e7 (diff) |
[PATCH] i386/x86_64: Remove global IO_APIC_VECTOR
Which vector an irq is assigned to now varies dynamically and is
not needed outside of io_apic.c. So remove the possibility
of accessing the information outside of io_apic.c and remove
the silly macro that makes looking for users of irq_vector
difficult.
The fact this compiles ensures there aren't any more pieces
of the old CONFIG_PCI_MSI weirdness that I failed to remove.
Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/i386/kernel/io_apic.c | 12 | ||||
-rw-r--r-- | arch/x86_64/kernel/io_apic.c | 8 |
2 files changed, 10 insertions, 10 deletions
diff --git a/arch/i386/kernel/io_apic.c b/arch/i386/kernel/io_apic.c index b7287fb499f3..cd082c36ca03 100644 --- a/arch/i386/kernel/io_apic.c +++ b/arch/i386/kernel/io_apic.c | |||
@@ -1184,8 +1184,8 @@ static int __assign_irq_vector(int irq) | |||
1184 | 1184 | ||
1185 | BUG_ON((unsigned)irq >= NR_IRQ_VECTORS); | 1185 | BUG_ON((unsigned)irq >= NR_IRQ_VECTORS); |
1186 | 1186 | ||
1187 | if (IO_APIC_VECTOR(irq) > 0) | 1187 | if (irq_vector[irq] > 0) |
1188 | return IO_APIC_VECTOR(irq); | 1188 | return irq_vector[irq]; |
1189 | 1189 | ||
1190 | current_vector += 8; | 1190 | current_vector += 8; |
1191 | if (current_vector == SYSCALL_VECTOR) | 1191 | if (current_vector == SYSCALL_VECTOR) |
@@ -1199,7 +1199,7 @@ static int __assign_irq_vector(int irq) | |||
1199 | } | 1199 | } |
1200 | 1200 | ||
1201 | vector = current_vector; | 1201 | vector = current_vector; |
1202 | IO_APIC_VECTOR(irq) = vector; | 1202 | irq_vector[irq] = vector; |
1203 | 1203 | ||
1204 | return vector; | 1204 | return vector; |
1205 | } | 1205 | } |
@@ -1967,7 +1967,7 @@ static void ack_ioapic_quirk_irq(unsigned int irq) | |||
1967 | * operation to prevent an edge-triggered interrupt escaping meanwhile. | 1967 | * operation to prevent an edge-triggered interrupt escaping meanwhile. |
1968 | * The idea is from Manfred Spraul. --macro | 1968 | * The idea is from Manfred Spraul. --macro |
1969 | */ | 1969 | */ |
1970 | i = IO_APIC_VECTOR(irq); | 1970 | i = irq_vector[irq]; |
1971 | 1971 | ||
1972 | v = apic_read(APIC_TMR + ((i & ~0x1f) >> 1)); | 1972 | v = apic_read(APIC_TMR + ((i & ~0x1f) >> 1)); |
1973 | 1973 | ||
@@ -1984,7 +1984,7 @@ static void ack_ioapic_quirk_irq(unsigned int irq) | |||
1984 | 1984 | ||
1985 | static int ioapic_retrigger_irq(unsigned int irq) | 1985 | static int ioapic_retrigger_irq(unsigned int irq) |
1986 | { | 1986 | { |
1987 | send_IPI_self(IO_APIC_VECTOR(irq)); | 1987 | send_IPI_self(irq_vector[irq]); |
1988 | 1988 | ||
1989 | return 1; | 1989 | return 1; |
1990 | } | 1990 | } |
@@ -2020,7 +2020,7 @@ static inline void init_IO_APIC_traps(void) | |||
2020 | */ | 2020 | */ |
2021 | for (irq = 0; irq < NR_IRQS ; irq++) { | 2021 | for (irq = 0; irq < NR_IRQS ; irq++) { |
2022 | int tmp = irq; | 2022 | int tmp = irq; |
2023 | if (IO_APIC_IRQ(tmp) && !IO_APIC_VECTOR(tmp)) { | 2023 | if (IO_APIC_IRQ(tmp) && !irq_vector[tmp]) { |
2024 | /* | 2024 | /* |
2025 | * Hmm.. We don't have an entry for this, | 2025 | * Hmm.. We don't have an entry for this, |
2026 | * so default to an old-fashioned 8259 | 2026 | * so default to an old-fashioned 8259 |
diff --git a/arch/x86_64/kernel/io_apic.c b/arch/x86_64/kernel/io_apic.c index 91728d9d3472..9c3b9b19d699 100644 --- a/arch/x86_64/kernel/io_apic.c +++ b/arch/x86_64/kernel/io_apic.c | |||
@@ -587,8 +587,8 @@ static int __assign_irq_vector(int irq, cpumask_t mask) | |||
587 | 587 | ||
588 | BUG_ON((unsigned)irq >= NR_IRQ_VECTORS); | 588 | BUG_ON((unsigned)irq >= NR_IRQ_VECTORS); |
589 | 589 | ||
590 | if (IO_APIC_VECTOR(irq) > 0) | 590 | if (irq_vector[irq] > 0) |
591 | old_vector = IO_APIC_VECTOR(irq); | 591 | old_vector = irq_vector[irq]; |
592 | if ((old_vector > 0) && cpu_isset(old_vector >> 8, mask)) { | 592 | if ((old_vector > 0) && cpu_isset(old_vector >> 8, mask)) { |
593 | return old_vector; | 593 | return old_vector; |
594 | } | 594 | } |
@@ -620,7 +620,7 @@ next: | |||
620 | } | 620 | } |
621 | per_cpu(vector_irq, cpu)[vector] = irq; | 621 | per_cpu(vector_irq, cpu)[vector] = irq; |
622 | vector |= cpu << 8; | 622 | vector |= cpu << 8; |
623 | IO_APIC_VECTOR(irq) = vector; | 623 | irq_vector[irq] = vector; |
624 | return vector; | 624 | return vector; |
625 | } | 625 | } |
626 | return -ENOSPC; | 626 | return -ENOSPC; |
@@ -1289,7 +1289,7 @@ static inline void init_IO_APIC_traps(void) | |||
1289 | */ | 1289 | */ |
1290 | for (irq = 0; irq < NR_IRQS ; irq++) { | 1290 | for (irq = 0; irq < NR_IRQS ; irq++) { |
1291 | int tmp = irq; | 1291 | int tmp = irq; |
1292 | if (IO_APIC_IRQ(tmp) && !IO_APIC_VECTOR(tmp)) { | 1292 | if (IO_APIC_IRQ(tmp) && !irq_vector[tmp]) { |
1293 | /* | 1293 | /* |
1294 | * Hmm.. We don't have an entry for this, | 1294 | * Hmm.. We don't have an entry for this, |
1295 | * so default to an old-fashioned 8259 | 1295 | * so default to an old-fashioned 8259 |