x86: rename eisa_set_level_irq to elcr_set_level_irq
PATCH 1/1 x86: rename eisa_set_level_irq to elcr_set_level_irq
This routine has been around for over a decade, but with EISA being dead and abandoned for about twice that long, the name can be kind of confusing. The function is going at the PIC Edge/Level Configuration Registers (ELCR), so rename it as such and mentally decouple it from the long since dead EISA bus.
---
[This was in the "delete EISA bus supoort for x86" series, but since
we aren't going to apply that, we might as well steal this from it.]
arch/x86/include/asm/hw_irq.h | 3 +-- arch/x86/kernel/acpi/boot.c | 2 +- arch/x86/pci/irq.c | 13 +++++++------ 3 files changed, 9 insertions(+), 9 deletions(-)
arch/x86/include/asm/hw_irq.h +1 -2
@@ -191,8 +191,7 @@ static inline void unlock_vector_lock(void) {}extern atomic_t irq_err_count;extern atomic_t irq_mis_count; -/* EISA */ -extern void eisa_set_level_irq (unsigned int irq); +extern void elcr_set_level_irq (unsigned int irq);/* SMP */ extern __visible void smp_apic_timer_interrupt(struct pt_regs *);
arch/x86/kernel/acpi/boot.c +1 -1
@@ -608,7 +608,7 @@ static int acpi_register_gsi_pic(struct device *dev, u32 gsi,* Make sure all (legacy) PCI IRQs are set as level-triggered. */ if (trigger ==ACPI_LEVEL_SENSITIVE ) -eisa_set_level_irq (gsi); +elcr_set_level_irq (gsi);#endif return gsi;
arch/x86/pci/irq.c +7 -6
@@ -146,19 +146,20 @@ static void __init pirq_peer_trick(void)/* * Code for querying and setting of IRQ routes on various interrupt routers. +* PIC Edge/Level Control Registers (ELCR) 0x4d0 & 0x4d1. */ -void eisa_set_level_irq (unsigned int irq) +void elcr_set_level_irq (unsigned int irq) {unsigned char mask =1 << (irq &7 );unsigned int port =0x4d0 + (irq >>3 );unsigned char val; -static u16 eisa_irq_mask; +static u16 elcr_irq_mask; -if (irq >=16 || (1 << irq) & eisa_irq_mask) +if (irq >=16 || (1 << irq) & elcr_irq_mask)return ; - eisa_irq_mask |= (1 << irq); + elcr_irq_mask |= (1 << irq);printk (KERN_DEBUG "PCI: setting IRQ %u as level-triggered\n" , irq); val =inb (port);if (!(val & mask)) {
@@ -965,11 +966,11 @@ static int pcibios_lookup_irq(struct pci_dev *dev, int assign) }else if (r->get && (irq = r->get (pirq_router_dev, dev, pirq)) && \ ((!(pci_probe &PCI_USE_PIRQ_MASK )) || ((1 << irq) & mask))) { msg ="found" ; -eisa_set_level_irq (irq); +elcr_set_level_irq (irq); }else if (newirq && r->set && (dev->class >>8 ) !=PCI_CLASS_DISPLAY_VGA ) {if (r->set (pirq_router_dev, dev, pirq, newirq)) { -eisa_set_level_irq (newirq); +elcr_set_level_irq (newirq); msg ="assigned" ; irq = newirq; }
Signature · 1 line
2.3.1
Quoted 15 lines · Paul Gortmaker
This routine has been around for over a decade, but with EISA being dead and abandoned for about twice that long, the name can be kind of confusing. The function is going at the PIC Edge/Level Configuration Registers (ELCR), so rename it as such and mentally decouple it from the long since dead EISA bus.
Cc Thomas Gleixner <[email protected]>Cc Ingo Molnar <[email protected]>Cc "H. Peter Anvin" <[email protected]>Cc "Rafael J. Wysocki" <[email protected]>Cc Len Brown <[email protected]>Cc Pavel Machek <[email protected]>Cc Bjorn Helgaas <[email protected]>Signed-off-by Paul Gortmaker <[email protected]>
Quoted 4 lines
---
[This was in the "delete EISA bus supoort for x86" series, but since
we aren't going to apply that, we might as well steal this from it.]
FWIW it looks good to me, thanks. Especially for reusing the good parts
of your original change. :)
While cleaning this stuff up you might as well consider getting rid of
the embedded numeric 0x4d0 port reference too and adding macros like PIC_MASTER_ELCR and PIC_SLAVE_ELCR to <asm/i8259.h> to use them...
Quoted 6 lines
arch/x86/pci/irq.c +0
-0@@ -146,19 +146,20 @@ static void __init pirq_peer_trick(void)
arch/x86/pci/irq.c static void __init pirq_peer_trick(void) · line 155
Quoted 10 lines
arch/x86/pci/irq.c +2
-1/* * Code for querying and setting of IRQ routes on various interrupt routers. +* PIC Edge/Level Control Registers (ELCR) 0x4d0 & 0x4d1. */ -void eisa_set_level_irq (unsigned int irq) +void elcr_set_level_irq (unsigned int irq) {unsigned char mask =1 << (irq &7 );unsigned int port =0x4d0 + (irq >>3 );
... here, and a bunch of places elsewhere. Your change is of course good as it stands though, that would have to be a separate clean-up anyway.
Maciej
Quoted 6 lines · Paul Gortmaker
This routine has been around for over a decade, but with EISA being dead and abandoned for about twice that long, the name can be kind of confusing. The function is going at the PIC Edge/Level Configuration Registers (ELCR), so rename it as such and mentally decouple it from the long since dead EISA bus.
Quoted 6 lines
Cc Thomas Gleixner <[email protected]>Cc Ingo Molnar <[email protected]>Cc "H. Peter Anvin" <[email protected]>Cc "Rafael J. Wysocki" <[email protected]>Cc Len Brown <[email protected]>
Signature · 2 lines
(english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
tip-bot for Paul Gortmaker
merge bot[tip:x86/apic] x86: Rename eisa_set_level_irq to elcr_set_level_irq
In reply to Paul Gortmakerx86: Rename eisa_set_level_irq to elcr_set_level_irq
Commit-ID: ea6cd25058f39ac69623efdcbd94a7fc7d4d13f0 Gitweb: http://git.kernel.org/tip/ea6cd25058f39ac69623efdcbd94a7fc7d4d13f0 Author: Paul Gortmaker <[email protected]> AuthorDate: Sat, 9 May 2015 20:27:37 -0400 Committer: Thomas Gleixner <[email protected]> CommitDate: Tue, 19 May 2015 11:23:38 +0200
x86: Rename eisa_set_level_irq to elcr_set_level_irq
This routine has been around for over a decade, but with EISA being dead and abandoned for about twice that long, the name can be kind of confusing. The function is going at the PIC Edge/Level Configuration Registers (ELCR), so rename it as such and mentally decouple it from the long since dead EISA bus.
--- arch/x86/include/asm/hw_irq.h | 3 +-- arch/x86/kernel/acpi/boot.c | 2 +- arch/x86/pci/irq.c | 13 +++++++------ 3 files changed, 9 insertions(+), 9 deletions(-)
arch/x86/include/asm/hw_irq.h +1 -2
@@ -157,8 +157,7 @@ static inline void unlock_vector_lock(void) {}extern atomic_t irq_err_count;extern atomic_t irq_mis_count; -/* EISA */ -extern void eisa_set_level_irq (unsigned int irq); +extern void elcr_set_level_irq (unsigned int irq);/* SMP */ extern __visible void smp_apic_timer_interrupt(struct pt_regs *);
arch/x86/kernel/acpi/boot.c +1 -1
@@ -608,7 +608,7 @@ static int acpi_register_gsi_pic(struct device *dev, u32 gsi,* Make sure all (legacy) PCI IRQs are set as level-triggered. */ if (trigger ==ACPI_LEVEL_SENSITIVE ) -eisa_set_level_irq (gsi); +elcr_set_level_irq (gsi);#endif return gsi;
arch/x86/pci/irq.c +7 -6
@@ -146,19 +146,20 @@ static void __init pirq_peer_trick(void)/* * Code for querying and setting of IRQ routes on various interrupt routers. +* PIC Edge/Level Control Registers (ELCR) 0x4d0 & 0x4d1. */ -void eisa_set_level_irq (unsigned int irq) +void elcr_set_level_irq (unsigned int irq) {unsigned char mask =1 << (irq &7 );unsigned int port =0x4d0 + (irq >>3 );unsigned char val; -static u16 eisa_irq_mask; +static u16 elcr_irq_mask; -if (irq >=16 || (1 << irq) & eisa_irq_mask) +if (irq >=16 || (1 << irq) & elcr_irq_mask)return ; - eisa_irq_mask |= (1 << irq); + elcr_irq_mask |= (1 << irq);printk (KERN_DEBUG "PCI: setting IRQ %u as level-triggered\n" , irq); val =inb (port);if (!(val & mask)) {
@@ -965,11 +966,11 @@ static int pcibios_lookup_irq(struct pci_dev *dev, int assign) }else if (r->get && (irq = r->get (pirq_router_dev, dev, pirq)) && \ ((!(pci_probe &PCI_USE_PIRQ_MASK )) || ((1 << irq) & mask))) { msg ="found" ; -eisa_set_level_irq (irq); +elcr_set_level_irq (irq); }else if (newirq && r->set && (dev->class >>8 ) !=PCI_CLASS_DISPLAY_VGA ) {if (r->set (pirq_router_dev, dev, pirq, newirq)) { -eisa_set_level_irq (newirq); +elcr_set_level_irq (newirq); msg ="assigned" ; irq = newirq; }