Skip to content

Commit

Permalink
PCI: mvebu: Save MSI controller in pci_sys_data
Browse files Browse the repository at this point in the history
Save MSI controller in pci_sys_data instead of assigning MSI controller
pointer to every PCI bus in .add_bus().

Signed-off-by: Yijing Wang <[email protected]>
Signed-off-by: Bjorn Helgaas <[email protected]>
  • Loading branch information
YijingWang authored and bjorn-helgaas committed Nov 21, 2014
1 parent 7840cba commit 2691423
Showing 1 changed file with 4 additions and 7 deletions.
11 changes: 4 additions & 7 deletions drivers/pci/host/pci-mvebu.c
Original file line number Diff line number Diff line change
Expand Up @@ -774,12 +774,6 @@ static struct pci_bus *mvebu_pcie_scan_bus(int nr, struct pci_sys_data *sys)
return bus;
}

static void mvebu_pcie_add_bus(struct pci_bus *bus)
{
struct mvebu_pcie *pcie = sys_to_pcie(bus->sysdata);
bus->msi = pcie->msi;
}

static resource_size_t mvebu_pcie_align_resource(struct pci_dev *dev,
const struct resource *res,
resource_size_t start,
Expand Down Expand Up @@ -816,14 +810,17 @@ static void mvebu_pcie_enable(struct mvebu_pcie *pcie)

memset(&hw, 0, sizeof(hw));

#ifdef CONFIG_PCI_MSI
hw.msi_ctrl = pcie->msi;
#endif

hw.nr_controllers = 1;
hw.private_data = (void **)&pcie;
hw.setup = mvebu_pcie_setup;
hw.scan = mvebu_pcie_scan_bus;
hw.map_irq = of_irq_parse_and_map_pci;
hw.ops = &mvebu_pcie_ops;
hw.align_resource = mvebu_pcie_align_resource;
hw.add_bus = mvebu_pcie_add_bus;

pci_common_init(&hw);
}
Expand Down

0 comments on commit 2691423

Please sign in to comment.