diff options
-rw-r--r-- | arch/ia64/kernel/acpi.c | 5 | ||||
-rw-r--r-- | arch/x86/include/asm/io_apic.h | 4 | ||||
-rw-r--r-- | arch/x86/include/asm/mpspec.h | 4 | ||||
-rw-r--r-- | arch/x86/kernel/acpi/boot.c | 8 | ||||
-rw-r--r-- | arch/x86/kernel/apic/io_apic.c | 3 | ||||
-rw-r--r-- | drivers/acpi/pci_irq.c | 5 | ||||
-rw-r--r-- | drivers/char/hpet.c | 4 | ||||
-rw-r--r-- | drivers/pnp/pnpacpi/rsparser.c | 2 | ||||
-rw-r--r-- | include/linux/acpi.h | 2 |
9 files changed, 21 insertions, 16 deletions
diff --git a/arch/ia64/kernel/acpi.c b/arch/ia64/kernel/acpi.c index 5510317db37b..baec6f00f7f3 100644 --- a/arch/ia64/kernel/acpi.c +++ b/arch/ia64/kernel/acpi.c | |||
@@ -636,7 +636,7 @@ void __init acpi_numa_arch_fixup(void) | |||
636 | * success: return IRQ number (>=0) | 636 | * success: return IRQ number (>=0) |
637 | * failure: return < 0 | 637 | * failure: return < 0 |
638 | */ | 638 | */ |
639 | int acpi_register_gsi(u32 gsi, int triggering, int polarity) | 639 | int acpi_register_gsi(struct device *dev, u32 gsi, int triggering, int polarity) |
640 | { | 640 | { |
641 | if (acpi_irq_model == ACPI_IRQ_MODEL_PLATFORM) | 641 | if (acpi_irq_model == ACPI_IRQ_MODEL_PLATFORM) |
642 | return gsi; | 642 | return gsi; |
@@ -678,7 +678,8 @@ static int __init acpi_parse_fadt(struct acpi_table_header *table) | |||
678 | 678 | ||
679 | fadt = (struct acpi_table_fadt *)fadt_header; | 679 | fadt = (struct acpi_table_fadt *)fadt_header; |
680 | 680 | ||
681 | acpi_register_gsi(fadt->sci_interrupt, ACPI_LEVEL_SENSITIVE, ACPI_ACTIVE_LOW); | 681 | acpi_register_gsi(NULL, fadt->sci_interrupt, ACPI_LEVEL_SENSITIVE, |
682 | ACPI_ACTIVE_LOW); | ||
682 | return 0; | 683 | return 0; |
683 | } | 684 | } |
684 | 685 | ||
diff --git a/arch/x86/include/asm/io_apic.h b/arch/x86/include/asm/io_apic.h index 9d826e436010..07f2913ba5de 100644 --- a/arch/x86/include/asm/io_apic.h +++ b/arch/x86/include/asm/io_apic.h | |||
@@ -154,8 +154,8 @@ extern int timer_through_8259; | |||
154 | extern int io_apic_get_unique_id(int ioapic, int apic_id); | 154 | extern int io_apic_get_unique_id(int ioapic, int apic_id); |
155 | extern int io_apic_get_version(int ioapic); | 155 | extern int io_apic_get_version(int ioapic); |
156 | extern int io_apic_get_redir_entries(int ioapic); | 156 | extern int io_apic_get_redir_entries(int ioapic); |
157 | extern int io_apic_set_pci_routing(int ioapic, int pin, int irq, | 157 | extern int io_apic_set_pci_routing(struct device *dev, int ioapic, int pin, |
158 | int edge_level, int active_high_low); | 158 | int irq, int edge_level, int active_high_low); |
159 | #endif /* CONFIG_ACPI */ | 159 | #endif /* CONFIG_ACPI */ |
160 | 160 | ||
161 | extern int (*ioapic_renumber_irq)(int ioapic, int irq); | 161 | extern int (*ioapic_renumber_irq)(int ioapic, int irq); |
diff --git a/arch/x86/include/asm/mpspec.h b/arch/x86/include/asm/mpspec.h index 642fc7fc8cdc..3ea1f531f532 100644 --- a/arch/x86/include/asm/mpspec.h +++ b/arch/x86/include/asm/mpspec.h | |||
@@ -72,7 +72,9 @@ extern void mp_register_ioapic(int id, u32 address, u32 gsi_base); | |||
72 | extern void mp_override_legacy_irq(u8 bus_irq, u8 polarity, u8 trigger, | 72 | extern void mp_override_legacy_irq(u8 bus_irq, u8 polarity, u8 trigger, |
73 | u32 gsi); | 73 | u32 gsi); |
74 | extern void mp_config_acpi_legacy_irqs(void); | 74 | extern void mp_config_acpi_legacy_irqs(void); |
75 | extern int mp_register_gsi(u32 gsi, int edge_level, int active_high_low); | 75 | struct device; |
76 | extern int mp_register_gsi(struct device *dev, u32 gsi, int edge_level, | ||
77 | int active_high_low); | ||
76 | extern int acpi_probe_gsi(void); | 78 | extern int acpi_probe_gsi(void); |
77 | #ifdef CONFIG_X86_IO_APIC | 79 | #ifdef CONFIG_X86_IO_APIC |
78 | extern int mp_config_acpi_gsi(unsigned char number, unsigned int devfn, u8 pin, | 80 | extern int mp_config_acpi_gsi(unsigned char number, unsigned int devfn, u8 pin, |
diff --git a/arch/x86/kernel/acpi/boot.c b/arch/x86/kernel/acpi/boot.c index 723989d7f802..6ee96b5530f1 100644 --- a/arch/x86/kernel/acpi/boot.c +++ b/arch/x86/kernel/acpi/boot.c | |||
@@ -522,7 +522,7 @@ int acpi_gsi_to_irq(u32 gsi, unsigned int *irq) | |||
522 | * success: return IRQ number (>=0) | 522 | * success: return IRQ number (>=0) |
523 | * failure: return < 0 | 523 | * failure: return < 0 |
524 | */ | 524 | */ |
525 | int acpi_register_gsi(u32 gsi, int triggering, int polarity) | 525 | int acpi_register_gsi(struct device *dev, u32 gsi, int triggering, int polarity) |
526 | { | 526 | { |
527 | unsigned int irq; | 527 | unsigned int irq; |
528 | unsigned int plat_gsi = gsi; | 528 | unsigned int plat_gsi = gsi; |
@@ -539,7 +539,7 @@ int acpi_register_gsi(u32 gsi, int triggering, int polarity) | |||
539 | 539 | ||
540 | #ifdef CONFIG_X86_IO_APIC | 540 | #ifdef CONFIG_X86_IO_APIC |
541 | if (acpi_irq_model == ACPI_IRQ_MODEL_IOAPIC) { | 541 | if (acpi_irq_model == ACPI_IRQ_MODEL_IOAPIC) { |
542 | plat_gsi = mp_register_gsi(gsi, triggering, polarity); | 542 | plat_gsi = mp_register_gsi(dev, gsi, triggering, polarity); |
543 | } | 543 | } |
544 | #endif | 544 | #endif |
545 | acpi_gsi_to_irq(plat_gsi, &irq); | 545 | acpi_gsi_to_irq(plat_gsi, &irq); |
@@ -1158,7 +1158,7 @@ void __init mp_config_acpi_legacy_irqs(void) | |||
1158 | } | 1158 | } |
1159 | } | 1159 | } |
1160 | 1160 | ||
1161 | int mp_register_gsi(u32 gsi, int triggering, int polarity) | 1161 | int mp_register_gsi(struct device *dev, u32 gsi, int triggering, int polarity) |
1162 | { | 1162 | { |
1163 | int ioapic; | 1163 | int ioapic; |
1164 | int ioapic_pin; | 1164 | int ioapic_pin; |
@@ -1253,7 +1253,7 @@ int mp_register_gsi(u32 gsi, int triggering, int polarity) | |||
1253 | } | 1253 | } |
1254 | } | 1254 | } |
1255 | #endif | 1255 | #endif |
1256 | io_apic_set_pci_routing(ioapic, ioapic_pin, gsi, | 1256 | io_apic_set_pci_routing(dev, ioapic, ioapic_pin, gsi, |
1257 | triggering == ACPI_EDGE_SENSITIVE ? 0 : 1, | 1257 | triggering == ACPI_EDGE_SENSITIVE ? 0 : 1, |
1258 | polarity == ACPI_ACTIVE_HIGH ? 0 : 1); | 1258 | polarity == ACPI_ACTIVE_HIGH ? 0 : 1); |
1259 | return gsi; | 1259 | return gsi; |
diff --git a/arch/x86/kernel/apic/io_apic.c b/arch/x86/kernel/apic/io_apic.c index 560b887ba27c..d9346622601b 100644 --- a/arch/x86/kernel/apic/io_apic.c +++ b/arch/x86/kernel/apic/io_apic.c | |||
@@ -3958,7 +3958,8 @@ int __init io_apic_get_version(int ioapic) | |||
3958 | } | 3958 | } |
3959 | #endif | 3959 | #endif |
3960 | 3960 | ||
3961 | int io_apic_set_pci_routing (int ioapic, int pin, int irq, int triggering, int polarity) | 3961 | int io_apic_set_pci_routing(struct device *dev, int ioapic, int pin, int irq, |
3962 | int triggering, int polarity) | ||
3962 | { | 3963 | { |
3963 | struct irq_desc *desc; | 3964 | struct irq_desc *desc; |
3964 | struct irq_cfg *cfg; | 3965 | struct irq_cfg *cfg; |
diff --git a/drivers/acpi/pci_irq.c b/drivers/acpi/pci_irq.c index 51b9f8280f88..2faa9e2ac893 100644 --- a/drivers/acpi/pci_irq.c +++ b/drivers/acpi/pci_irq.c | |||
@@ -401,7 +401,8 @@ int acpi_pci_irq_enable(struct pci_dev *dev) | |||
401 | /* Interrupt Line values above 0xF are forbidden */ | 401 | /* Interrupt Line values above 0xF are forbidden */ |
402 | if (dev->irq > 0 && (dev->irq <= 0xF)) { | 402 | if (dev->irq > 0 && (dev->irq <= 0xF)) { |
403 | printk(" - using IRQ %d\n", dev->irq); | 403 | printk(" - using IRQ %d\n", dev->irq); |
404 | acpi_register_gsi(dev->irq, ACPI_LEVEL_SENSITIVE, | 404 | acpi_register_gsi(&dev->dev, dev->irq, |
405 | ACPI_LEVEL_SENSITIVE, | ||
405 | ACPI_ACTIVE_LOW); | 406 | ACPI_ACTIVE_LOW); |
406 | return 0; | 407 | return 0; |
407 | } else { | 408 | } else { |
@@ -410,7 +411,7 @@ int acpi_pci_irq_enable(struct pci_dev *dev) | |||
410 | } | 411 | } |
411 | } | 412 | } |
412 | 413 | ||
413 | rc = acpi_register_gsi(gsi, triggering, polarity); | 414 | rc = acpi_register_gsi(&dev->dev, gsi, triggering, polarity); |
414 | if (rc < 0) { | 415 | if (rc < 0) { |
415 | dev_warn(&dev->dev, "PCI INT %c: failed to register GSI\n", | 416 | dev_warn(&dev->dev, "PCI INT %c: failed to register GSI\n", |
416 | pin_name(pin)); | 417 | pin_name(pin)); |
diff --git a/drivers/char/hpet.c b/drivers/char/hpet.c index 340ba4f9dc54..4a9f3492b921 100644 --- a/drivers/char/hpet.c +++ b/drivers/char/hpet.c | |||
@@ -224,7 +224,7 @@ static void hpet_timer_set_irq(struct hpet_dev *devp) | |||
224 | break; | 224 | break; |
225 | } | 225 | } |
226 | 226 | ||
227 | gsi = acpi_register_gsi(irq, ACPI_LEVEL_SENSITIVE, | 227 | gsi = acpi_register_gsi(NULL, irq, ACPI_LEVEL_SENSITIVE, |
228 | ACPI_ACTIVE_LOW); | 228 | ACPI_ACTIVE_LOW); |
229 | if (gsi > 0) | 229 | if (gsi > 0) |
230 | break; | 230 | break; |
@@ -939,7 +939,7 @@ static acpi_status hpet_resources(struct acpi_resource *res, void *data) | |||
939 | irqp = &res->data.extended_irq; | 939 | irqp = &res->data.extended_irq; |
940 | 940 | ||
941 | for (i = 0; i < irqp->interrupt_count; i++) { | 941 | for (i = 0; i < irqp->interrupt_count; i++) { |
942 | irq = acpi_register_gsi(irqp->interrupts[i], | 942 | irq = acpi_register_gsi(NULL, irqp->interrupts[i], |
943 | irqp->triggering, irqp->polarity); | 943 | irqp->triggering, irqp->polarity); |
944 | if (irq < 0) | 944 | if (irq < 0) |
945 | return AE_ERROR; | 945 | return AE_ERROR; |
diff --git a/drivers/pnp/pnpacpi/rsparser.c b/drivers/pnp/pnpacpi/rsparser.c index adf17856bacc..7f207f335bec 100644 --- a/drivers/pnp/pnpacpi/rsparser.c +++ b/drivers/pnp/pnpacpi/rsparser.c | |||
@@ -123,7 +123,7 @@ static void pnpacpi_parse_allocated_irqresource(struct pnp_dev *dev, | |||
123 | } | 123 | } |
124 | 124 | ||
125 | flags = irq_flags(triggering, polarity, shareable); | 125 | flags = irq_flags(triggering, polarity, shareable); |
126 | irq = acpi_register_gsi(gsi, triggering, polarity); | 126 | irq = acpi_register_gsi(&dev->dev, gsi, triggering, polarity); |
127 | if (irq >= 0) | 127 | if (irq >= 0) |
128 | pcibios_penalize_isa_irq(irq, 1); | 128 | pcibios_penalize_isa_irq(irq, 1); |
129 | else | 129 | else |
diff --git a/include/linux/acpi.h b/include/linux/acpi.h index 88be890ee3c7..51b4b0a5ce8c 100644 --- a/include/linux/acpi.h +++ b/include/linux/acpi.h | |||
@@ -119,7 +119,7 @@ extern int pci_mmcfg_config_num; | |||
119 | extern int sbf_port; | 119 | extern int sbf_port; |
120 | extern unsigned long acpi_realmode_flags; | 120 | extern unsigned long acpi_realmode_flags; |
121 | 121 | ||
122 | int acpi_register_gsi (u32 gsi, int triggering, int polarity); | 122 | int acpi_register_gsi (struct device *dev, u32 gsi, int triggering, int polarity); |
123 | int acpi_gsi_to_irq (u32 gsi, unsigned int *irq); | 123 | int acpi_gsi_to_irq (u32 gsi, unsigned int *irq); |
124 | 124 | ||
125 | #ifdef CONFIG_X86_IO_APIC | 125 | #ifdef CONFIG_X86_IO_APIC |