aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/acpi/pci_irq.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/acpi/pci_irq.c')
-rw-r--r--drivers/acpi/pci_irq.c38
1 files changed, 17 insertions, 21 deletions
diff --git a/drivers/acpi/pci_irq.c b/drivers/acpi/pci_irq.c
index 89022a74faee..11acaee14d66 100644
--- a/drivers/acpi/pci_irq.c
+++ b/drivers/acpi/pci_irq.c
@@ -162,7 +162,7 @@ do_prt_fixups(struct acpi_prt_entry *entry, struct acpi_pci_routing_table *prt)
162 !strcmp(prt->source, quirk->source) && 162 !strcmp(prt->source, quirk->source) &&
163 strlen(prt->source) >= strlen(quirk->actual_source)) { 163 strlen(prt->source) >= strlen(quirk->actual_source)) {
164 printk(KERN_WARNING PREFIX "firmware reports " 164 printk(KERN_WARNING PREFIX "firmware reports "
165 "%04x:%02x:%02x[%c] connected to %s; " 165 "%04x:%02x:%02x PCI INT %c connected to %s; "
166 "changing to %s\n", 166 "changing to %s\n",
167 entry->id.segment, entry->id.bus, 167 entry->id.segment, entry->id.bus,
168 entry->id.device, 'A' + entry->pin, 168 entry->id.device, 'A' + entry->pin,
@@ -429,7 +429,7 @@ acpi_pci_irq_derive(struct pci_dev *dev,
429{ 429{
430 struct pci_dev *bridge = dev; 430 struct pci_dev *bridge = dev;
431 int irq = -1; 431 int irq = -1;
432 u8 bridge_pin = 0; 432 u8 bridge_pin = 0, orig_pin = pin;
433 433
434 434
435 if (!dev) 435 if (!dev)
@@ -463,8 +463,8 @@ acpi_pci_irq_derive(struct pci_dev *dev,
463 } 463 }
464 464
465 if (irq < 0) { 465 if (irq < 0) {
466 printk(KERN_WARNING PREFIX "Unable to derive IRQ for device %s\n", 466 dev_warn(&dev->dev, "can't derive routing for PCI INT %c\n",
467 pci_name(dev)); 467 'A' + orig_pin);
468 return -1; 468 return -1;
469 } 469 }
470 470
@@ -487,6 +487,7 @@ int acpi_pci_irq_enable(struct pci_dev *dev)
487 int triggering = ACPI_LEVEL_SENSITIVE; 487 int triggering = ACPI_LEVEL_SENSITIVE;
488 int polarity = ACPI_ACTIVE_LOW; 488 int polarity = ACPI_ACTIVE_LOW;
489 char *link = NULL; 489 char *link = NULL;
490 char link_desc[16];
490 int rc; 491 int rc;
491 492
492 493
@@ -503,7 +504,7 @@ int acpi_pci_irq_enable(struct pci_dev *dev)
503 pin--; 504 pin--;
504 505
505 if (!dev->bus) { 506 if (!dev->bus) {
506 printk(KERN_ERR PREFIX "Invalid (NULL) 'bus' field\n"); 507 dev_err(&dev->dev, "invalid (NULL) 'bus' field\n");
507 return -ENODEV; 508 return -ENODEV;
508 } 509 }
509 510
@@ -538,8 +539,7 @@ int acpi_pci_irq_enable(struct pci_dev *dev)
538 * driver reported one, then use it. Exit in any case. 539 * driver reported one, then use it. Exit in any case.
539 */ 540 */
540 if (irq < 0) { 541 if (irq < 0) {
541 printk(KERN_WARNING PREFIX "PCI Interrupt %s[%c]: no GSI", 542 dev_warn(&dev->dev, "PCI INT %c: no GSI", 'A' + pin);
542 pci_name(dev), ('A' + pin));
543 /* Interrupt Line values above 0xF are forbidden */ 543 /* Interrupt Line values above 0xF are forbidden */
544 if (dev->irq > 0 && (dev->irq <= 0xF)) { 544 if (dev->irq > 0 && (dev->irq <= 0xF)) {
545 printk(" - using IRQ %d\n", dev->irq); 545 printk(" - using IRQ %d\n", dev->irq);
@@ -554,21 +554,21 @@ int acpi_pci_irq_enable(struct pci_dev *dev)
554 554
555 rc = acpi_register_gsi(irq, triggering, polarity); 555 rc = acpi_register_gsi(irq, triggering, polarity);
556 if (rc < 0) { 556 if (rc < 0) {
557 printk(KERN_WARNING PREFIX "PCI Interrupt %s[%c]: failed " 557 dev_warn(&dev->dev, "PCI INT %c: failed to register GSI\n",
558 "to register GSI\n", pci_name(dev), ('A' + pin)); 558 'A' + pin);
559 return rc; 559 return rc;
560 } 560 }
561 dev->irq = rc; 561 dev->irq = rc;
562 562
563 printk(KERN_INFO PREFIX "PCI Interrupt %s[%c] -> ",
564 pci_name(dev), 'A' + pin);
565
566 if (link) 563 if (link)
567 printk("Link [%s] -> ", link); 564 snprintf(link_desc, sizeof(link_desc), " -> Link[%s]", link);
565 else
566 link_desc[0] = '\0';
568 567
569 printk("GSI %u (%s, %s) -> IRQ %d\n", irq, 568 dev_info(&dev->dev, "PCI INT %c%s -> GSI %u (%s, %s) -> IRQ %d\n",
570 (triggering == ACPI_LEVEL_SENSITIVE) ? "level" : "edge", 569 'A' + pin, link_desc, irq,
571 (polarity == ACPI_ACTIVE_LOW) ? "low" : "high", dev->irq); 570 (triggering == ACPI_LEVEL_SENSITIVE) ? "level" : "edge",
571 (polarity == ACPI_ACTIVE_LOW) ? "low" : "high", dev->irq);
572 572
573 return 0; 573 return 0;
574} 574}
@@ -616,10 +616,6 @@ void acpi_pci_irq_disable(struct pci_dev *dev)
616 * (e.g. PCI_UNDEFINED_IRQ). 616 * (e.g. PCI_UNDEFINED_IRQ).
617 */ 617 */
618 618
619 printk(KERN_INFO PREFIX "PCI interrupt for device %s disabled\n", 619 dev_info(&dev->dev, "PCI INT %c disabled\n", 'A' + pin);
620 pci_name(dev));
621
622 acpi_unregister_gsi(gsi); 620 acpi_unregister_gsi(gsi);
623
624 return;
625} 621}