diff options
Diffstat (limited to 'arch/powerpc/sysdev/mpic_u3msi.c')
| -rw-r--r-- | arch/powerpc/sysdev/mpic_u3msi.c | 11 | 
1 files changed, 3 insertions, 8 deletions
| diff --git a/arch/powerpc/sysdev/mpic_u3msi.c b/arch/powerpc/sysdev/mpic_u3msi.c index 3861023d378a..3f4841dfefb5 100644 --- a/arch/powerpc/sysdev/mpic_u3msi.c +++ b/arch/powerpc/sysdev/mpic_u3msi.c @@ -104,17 +104,12 @@ static void u3msi_teardown_msi_irqs(struct pci_dev *pdev)  	struct msi_desc *entry;  	irq_hw_number_t hwirq; -	for_each_pci_msi_entry(entry, pdev) { -		if (!entry->irq) -			continue; - +	msi_for_each_desc(entry, &pdev->dev, MSI_DESC_ASSOCIATED) {  		hwirq = virq_to_hw(entry->irq);  		irq_set_msi_desc(entry->irq, NULL);  		irq_dispose_mapping(entry->irq);  		msi_bitmap_free_hwirqs(&msi_mpic->msi_bitmap, hwirq, 1);  	} - -	return;  }  static int u3msi_setup_msi_irqs(struct pci_dev *pdev, int nvec, int type) @@ -136,7 +131,7 @@ static int u3msi_setup_msi_irqs(struct pci_dev *pdev, int nvec, int type)  		return -ENXIO;  	} -	for_each_pci_msi_entry(entry, pdev) { +	msi_for_each_desc(entry, &pdev->dev, MSI_DESC_NOTASSOCIATED) {  		hwirq = msi_bitmap_alloc_hwirqs(&msi_mpic->msi_bitmap, 1);  		if (hwirq < 0) {  			pr_debug("u3msi: failed allocating hwirq\n"); @@ -174,7 +169,7 @@ static int u3msi_setup_msi_irqs(struct pci_dev *pdev, int nvec, int type)  	return 0;  } -int mpic_u3msi_init(struct mpic *mpic) +int __init mpic_u3msi_init(struct mpic *mpic)  {  	int rc;  	struct pci_controller *phb; |