[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [PATCH v3 01/27] MSI: Remove the redundant irq_set_chip_data()

Currently, pcie-designware, pcie-rcar and pci-tegra drivers
use irq chip_data to save the msi_chip pointer. They
already call irq_set_chip_data() in their own MSI irq map
functions. And chip_data is an opaque pointer, how to use
it is arch dependent. It should not be placed in MSI core.

Signed-off-by: Yijing Wang <wangyijing@xxxxxxxxxx>
Reviewed-by: Thierry Reding <treding@xxxxxxxxxx>
 drivers/pci/msi.c |    5 ++---
 1 files changed, 2 insertions(+), 3 deletions(-)

diff --git a/drivers/pci/msi.c b/drivers/pci/msi.c
index 2f7c92c..ecb92a5 100644
--- a/drivers/pci/msi.c
+++ b/drivers/pci/msi.c
@@ -41,14 +41,13 @@ int __weak arch_setup_msi_irq(struct pci_dev *dev, struct 
msi_desc *desc)
        if (err < 0)
                return err;
-       irq_set_chip_data(desc->irq, chip);
        return 0;
 void __weak arch_teardown_msi_irq(unsigned int irq)
-       struct msi_chip *chip = irq_get_chip_data(irq);
+       struct msi_desc *entry = irq_get_msi_desc(irq);
+       struct msi_chip *chip = entry->dev->bus->msi;
        if (!chip || !chip->teardown_irq)

Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.