diff options
author | Yijing Wang <wangyijing@huawei.com> | 2015-04-28 03:01:35 -0400 |
---|---|---|
committer | Bjorn Helgaas <bhelgaas@google.com> | 2015-05-26 20:05:59 -0400 |
commit | 2dead00b925eccdc13b7cd915fa0d088b91bcb52 (patch) | |
tree | 070bc6fd0365fe8883d3ff1932028f1cca76f47d | |
parent | 5ebe6afaf0057ac3eaeb98defd5456894b446d22 (diff) |
PCI: mvebu: Remove mvebu_pcie_scan_bus()
After b97ea289cf6a ("PCI: Assign resources before drivers claim devices
(pci_scan_root_bus())"), pci_scan_root_bus() no longer adds the devices, so
it is equivalent to mvebu_pcie_scan_bus().
Remove mvebu_pcie_scan_bus() (the hw.scan method), so we use the generic
pci_scan_root_bus() path. We also need to use pci_common_init_dev()
instead of pci_common_init() so we can supply the host bridge device
pointer.
[bhelgaas: changelog]
Tested-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
Signed-off-by: Yijing Wang <wangyijing@huawei.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Reviewed-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
CC: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
CC: Jason Cooper <jason@lakedaemon.net>
-rw-r--r-- | drivers/pci/host/pci-mvebu.c | 18 |
1 files changed, 1 insertions, 17 deletions
diff --git a/drivers/pci/host/pci-mvebu.c b/drivers/pci/host/pci-mvebu.c index 1ab863551920..70aa09556ec5 100644 --- a/drivers/pci/host/pci-mvebu.c +++ b/drivers/pci/host/pci-mvebu.c | |||
@@ -751,21 +751,6 @@ static int mvebu_pcie_setup(int nr, struct pci_sys_data *sys) | |||
751 | return 1; | 751 | return 1; |
752 | } | 752 | } |
753 | 753 | ||
754 | static struct pci_bus *mvebu_pcie_scan_bus(int nr, struct pci_sys_data *sys) | ||
755 | { | ||
756 | struct mvebu_pcie *pcie = sys_to_pcie(sys); | ||
757 | struct pci_bus *bus; | ||
758 | |||
759 | bus = pci_create_root_bus(&pcie->pdev->dev, sys->busnr, | ||
760 | &mvebu_pcie_ops, sys, &sys->resources); | ||
761 | if (!bus) | ||
762 | return NULL; | ||
763 | |||
764 | pci_scan_child_bus(bus); | ||
765 | |||
766 | return bus; | ||
767 | } | ||
768 | |||
769 | static resource_size_t mvebu_pcie_align_resource(struct pci_dev *dev, | 754 | static resource_size_t mvebu_pcie_align_resource(struct pci_dev *dev, |
770 | const struct resource *res, | 755 | const struct resource *res, |
771 | resource_size_t start, | 756 | resource_size_t start, |
@@ -809,12 +794,11 @@ static void mvebu_pcie_enable(struct mvebu_pcie *pcie) | |||
809 | hw.nr_controllers = 1; | 794 | hw.nr_controllers = 1; |
810 | hw.private_data = (void **)&pcie; | 795 | hw.private_data = (void **)&pcie; |
811 | hw.setup = mvebu_pcie_setup; | 796 | hw.setup = mvebu_pcie_setup; |
812 | hw.scan = mvebu_pcie_scan_bus; | ||
813 | hw.map_irq = of_irq_parse_and_map_pci; | 797 | hw.map_irq = of_irq_parse_and_map_pci; |
814 | hw.ops = &mvebu_pcie_ops; | 798 | hw.ops = &mvebu_pcie_ops; |
815 | hw.align_resource = mvebu_pcie_align_resource; | 799 | hw.align_resource = mvebu_pcie_align_resource; |
816 | 800 | ||
817 | pci_common_init(&hw); | 801 | pci_common_init_dev(&pcie->pdev->dev, &hw); |
818 | } | 802 | } |
819 | 803 | ||
820 | /* | 804 | /* |