OSDN Git Service

mmc: sdhci-pci: Add MSI support
authorAlexander Stein <alexander.stein@systec-electronic.com>
Tue, 13 Mar 2012 17:16:40 +0000 (18:16 +0100)
committerChris Ball <cjb@laptop.org>
Tue, 27 Mar 2012 16:20:12 +0000 (12:20 -0400)
Signed-off-by: Alexander Stein <alexander.stein@systec-electronic.com>
Signed-off-by: Chris Ball <cjb@laptop.org>
drivers/mmc/host/sdhci-pci.c

index 3cb9abf..bc666a4 100644 (file)
@@ -1385,6 +1385,8 @@ static int __devinit sdhci_pci_probe(struct pci_dev *pdev,
 
        slots = chip->num_slots;        /* Quirk may have changed this */
 
+       pci_enable_msi(pdev);
+
        for (i = 0; i < slots; i++) {
                slot = sdhci_pci_probe_slot(pdev, chip, first_bar, i);
                if (IS_ERR(slot)) {
@@ -1403,6 +1405,8 @@ static int __devinit sdhci_pci_probe(struct pci_dev *pdev,
        return 0;
 
 free:
+       pci_disable_msi(pdev);
+
        pci_set_drvdata(pdev, NULL);
        kfree(chip);
 
@@ -1425,6 +1429,8 @@ static void __devexit sdhci_pci_remove(struct pci_dev *pdev)
                for (i = 0; i < chip->num_slots; i++)
                        sdhci_pci_remove_slot(chip->slots[i]);
 
+               pci_disable_msi(pdev);
+
                pci_set_drvdata(pdev, NULL);
                kfree(chip);
        }