1212 * for IRQ management (e.g. start()->_SRS).
1313 */
1414
15+ #define pr_fmt (fmt ) "ACPI: PCI: " fmt
16+
1517#include <linux/syscore_ops.h>
1618#include <linux/kernel.h>
1719#include <linux/module.h>
@@ -102,9 +104,9 @@ static acpi_status acpi_pci_link_check_possible(struct acpi_resource *resource,
102104 (i < p -> interrupt_count
103105 && i < ACPI_PCI_LINK_MAX_POSSIBLE ); i ++ ) {
104106 if (!p -> interrupts [i ]) {
105- printk ( KERN_WARNING PREFIX
106- "Invalid _PRS IRQ %d\n" ,
107- p -> interrupts [i ]);
107+ acpi_handle_debug ( handle ,
108+ "Invalid _PRS IRQ %d\n" ,
109+ p -> interrupts [i ]);
108110 continue ;
109111 }
110112 link -> irq .possible [i ] = p -> interrupts [i ];
@@ -120,17 +122,17 @@ static acpi_status acpi_pci_link_check_possible(struct acpi_resource *resource,
120122 struct acpi_resource_extended_irq * p =
121123 & resource -> data .extended_irq ;
122124 if (!p || !p -> interrupt_count ) {
123- printk ( KERN_WARNING PREFIX
124- "Blank _PRS EXT IRQ resource\n" );
125+ acpi_handle_debug ( handle ,
126+ "Blank _PRS EXT IRQ resource\n" );
125127 return AE_OK ;
126128 }
127129 for (i = 0 ;
128130 (i < p -> interrupt_count
129131 && i < ACPI_PCI_LINK_MAX_POSSIBLE ); i ++ ) {
130132 if (!p -> interrupts [i ]) {
131- printk ( KERN_WARNING PREFIX
132- "Invalid _PRS IRQ %d\n" ,
133- p -> interrupts [i ]);
133+ acpi_handle_debug ( handle ,
134+ "Invalid _PRS IRQ %d\n" ,
135+ p -> interrupts [i ]);
134136 continue ;
135137 }
136138 link -> irq .possible [i ] = p -> interrupts [i ];
@@ -142,8 +144,8 @@ static acpi_status acpi_pci_link_check_possible(struct acpi_resource *resource,
142144 break ;
143145 }
144146 default :
145- printk ( KERN_ERR PREFIX "_PRS resource type 0x%x isn't an IRQ\n" ,
146- resource -> type );
147+ acpi_handle_debug ( handle , "_PRS resource type 0x%x is not IRQ\n" ,
148+ resource -> type );
147149 return AE_OK ;
148150 }
149151
@@ -527,6 +529,7 @@ static int acpi_irq_balance = -1; /* 0: static, 1: balance */
527529
528530static int acpi_pci_link_allocate (struct acpi_pci_link * link )
529531{
532+ acpi_handle handle = link -> device -> handle ;
530533 int irq ;
531534 int i ;
532535
@@ -549,8 +552,8 @@ static int acpi_pci_link_allocate(struct acpi_pci_link *link)
549552 */
550553 if (i == link -> irq .possible_count ) {
551554 if (acpi_strict )
552- printk ( KERN_WARNING PREFIX "_CRS %d not found"
553- " in _PRS\n" , link -> irq .active );
555+ acpi_handle_warn ( handle , "_CRS %d not found in _PRS\n" ,
556+ link -> irq .active );
554557 link -> irq .active = 0 ;
555558 }
556559
@@ -574,28 +577,23 @@ static int acpi_pci_link_allocate(struct acpi_pci_link *link)
574577 }
575578 }
576579 if (acpi_irq_get_penalty (irq ) >= PIRQ_PENALTY_ISA_ALWAYS ) {
577- printk (KERN_ERR PREFIX "No IRQ available for %s [%s]. "
578- "Try pci=noacpi or acpi=off\n" ,
579- acpi_device_name (link -> device ),
580- acpi_device_bid (link -> device ));
580+ acpi_handle_err (handle ,
581+ "No IRQ available. Try pci=noacpi or acpi=off\n" );
581582 return - ENODEV ;
582583 }
583584
584585 /* Attempt to enable the link device at this IRQ. */
585586 if (acpi_pci_link_set (link , irq )) {
586- printk (KERN_ERR PREFIX "Unable to set IRQ for %s [%s]. "
587- "Try pci=noacpi or acpi=off\n" ,
588- acpi_device_name (link -> device ),
589- acpi_device_bid (link -> device ));
587+ acpi_handle_err (handle ,
588+ "Unable to set IRQ. Try pci=noacpi or acpi=off\n" );
590589 return - ENODEV ;
591590 } else {
592591 if (link -> irq .active < ACPI_MAX_ISA_IRQS )
593592 acpi_isa_irq_penalty [link -> irq .active ] +=
594593 PIRQ_PENALTY_PCI_USING ;
595594
596- pr_info ("%s [%s] enabled at IRQ %d\n" ,
597- acpi_device_name (link -> device ),
598- acpi_device_bid (link -> device ), link -> irq .active );
595+ acpi_handle_info (handle , "Enabled at IRQ %d\n" ,
596+ link -> irq .active );
599597 }
600598
601599 link -> irq .initialized = 1 ;
@@ -616,19 +614,19 @@ int acpi_pci_link_allocate_irq(acpi_handle handle, int index, int *triggering,
616614
617615 result = acpi_bus_get_device (handle , & device );
618616 if (result ) {
619- printk ( KERN_ERR PREFIX "Invalid link device\n" );
617+ acpi_handle_err ( handle , "Invalid link device\n" );
620618 return -1 ;
621619 }
622620
623621 link = acpi_driver_data (device );
624622 if (!link ) {
625- printk ( KERN_ERR PREFIX "Invalid link context\n" );
623+ acpi_handle_err ( handle , "Invalid link context\n" );
626624 return -1 ;
627625 }
628626
629627 /* TBD: Support multiple index (IRQ) entries per Link Device */
630628 if (index ) {
631- printk ( KERN_ERR PREFIX "Invalid index %d\n" , index );
629+ acpi_handle_err ( handle , "Invalid index %d\n" , index );
632630 return -1 ;
633631 }
634632
@@ -640,7 +638,7 @@ int acpi_pci_link_allocate_irq(acpi_handle handle, int index, int *triggering,
640638
641639 if (!link -> irq .active ) {
642640 mutex_unlock (& acpi_link_lock );
643- printk ( KERN_ERR PREFIX "Link active IRQ is 0!\n" );
641+ acpi_handle_err ( handle , "Link active IRQ is 0!\n" );
644642 return -1 ;
645643 }
646644 link -> refcnt ++ ;
@@ -668,20 +666,20 @@ int acpi_pci_link_free_irq(acpi_handle handle)
668666
669667 result = acpi_bus_get_device (handle , & device );
670668 if (result ) {
671- printk ( KERN_ERR PREFIX "Invalid link device\n" );
669+ acpi_handle_err ( handle , "Invalid link device\n" );
672670 return -1 ;
673671 }
674672
675673 link = acpi_driver_data (device );
676674 if (!link ) {
677- printk ( KERN_ERR PREFIX "Invalid link context\n" );
675+ acpi_handle_err ( handle , "Invalid link context\n" );
678676 return -1 ;
679677 }
680678
681679 mutex_lock (& acpi_link_lock );
682680 if (!link -> irq .initialized ) {
683681 mutex_unlock (& acpi_link_lock );
684- printk ( KERN_ERR PREFIX "Link isn't initialized\n" );
682+ acpi_handle_err ( handle , "Link isn't initialized\n" );
685683 return -1 ;
686684 }
687685#ifdef FUTURE_USE
@@ -712,10 +710,10 @@ int acpi_pci_link_free_irq(acpi_handle handle)
712710static int acpi_pci_link_add (struct acpi_device * device ,
713711 const struct acpi_device_id * not_used )
714712{
715- int result ;
713+ acpi_handle handle = device -> handle ;
716714 struct acpi_pci_link * link ;
715+ int result ;
717716 int i ;
718- int found = 0 ;
719717
720718 link = kzalloc (sizeof (struct acpi_pci_link ), GFP_KERNEL );
721719 if (!link )
@@ -734,31 +732,23 @@ static int acpi_pci_link_add(struct acpi_device *device,
734732 /* query and set link->irq.active */
735733 acpi_pci_link_get_current (link );
736734
737- printk (KERN_INFO PREFIX "%s [%s] (IRQs" , acpi_device_name (device ),
738- acpi_device_bid (device ));
735+ pr_info ("Interrupt link %s configured for IRQ %d\n" ,
736+ acpi_device_bid (device ), link -> irq .active );
737+
739738 for (i = 0 ; i < link -> irq .possible_count ; i ++ ) {
740- if (link -> irq .active == link -> irq .possible [i ]) {
741- printk (KERN_CONT " *%d" , link -> irq .possible [i ]);
742- found = 1 ;
743- } else
744- printk (KERN_CONT " %d" , link -> irq .possible [i ]);
739+ if (link -> irq .active != link -> irq .possible [i ])
740+ acpi_handle_debug (handle , "Possible IRQ %d\n" ,
741+ link -> irq .possible [i ]);
745742 }
746743
747- printk (KERN_CONT ")" );
748-
749- if (!found )
750- printk (KERN_CONT " *%d" , link -> irq .active );
751-
752744 if (!link -> device -> status .enabled )
753- printk (KERN_CONT ", disabled." );
754-
755- printk (KERN_CONT "\n" );
745+ pr_info ("Interrupt link %s disabled\n" , acpi_device_bid (device ));
756746
757747 list_add_tail (& link -> list , & acpi_link_list );
758748
759749 end :
760750 /* disable all links -- to be activated on use */
761- acpi_evaluate_object (device -> handle , "_DIS" , NULL , NULL );
751+ acpi_evaluate_object (handle , "_DIS" , NULL , NULL );
762752 mutex_unlock (& acpi_link_lock );
763753
764754 if (result )
0 commit comments