Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git...
[cascardo/linux.git] / drivers / pci / host / pcie-designware.c
index 8d52ce7..52aa6e3 100644 (file)
@@ -255,7 +255,7 @@ static void dw_pcie_msi_set_irq(struct pcie_port *pp, int irq)
 static int assign_irq(int no_irqs, struct msi_desc *desc, int *pos)
 {
        int irq, pos0, i;
-       struct pcie_port *pp = sys_to_pcie(desc->dev->bus->sysdata);
+       struct pcie_port *pp = sys_to_pcie(msi_desc_to_pci_sysdata(desc));
 
        pos0 = bitmap_find_free_region(pp->msi_irq_in_use, MAX_MSI_IRQS,
                                       order_base_2(no_irqs));
@@ -326,8 +326,8 @@ static int dw_msi_setup_irq(struct msi_controller *chip, struct pci_dev *pdev,
 static void dw_msi_teardown_irq(struct msi_controller *chip, unsigned int irq)
 {
        struct irq_data *data = irq_get_irq_data(irq);
-       struct msi_desc *msi = irq_data_get_msi(data);
-       struct pcie_port *pp = sys_to_pcie(msi->dev->bus->sysdata);
+       struct msi_desc *msi = irq_data_get_msi_desc(data);
+       struct pcie_port *pp = sys_to_pcie(msi_desc_to_pci_sysdata(msi));
 
        clear_irq_range(pp, irq, 1, data->hwirq);
 }