diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2015-05-06 21:36:13 +0200 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2015-05-06 21:36:13 +0200 |
commit | 3975737a7d48b3c767f60be994d55884321d45f9 (patch) | |
tree | 8be2f56c4978420e6e4c4b3292e18c61b07a926e /drivers/pci | |
parent | 10fb7853084356ef3c6b40ddf21dfb05dbd15691 (diff) | |
parent | 6d4afd96fc94a3f2d256ef4e8d7c9687a145a701 (diff) | |
download | barebox-3975737a7d48b3c767f60be994d55884321d45f9.tar.gz barebox-3975737a7d48b3c767f60be994d55884321d45f9.tar.xz |
Merge branch 'for-next/misc'
Diffstat (limited to 'drivers/pci')
-rw-r--r-- | drivers/pci/bus.c | 8 | ||||
-rw-r--r-- | drivers/pci/pcie-designware.c | 11 |
2 files changed, 6 insertions, 13 deletions
diff --git a/drivers/pci/bus.c b/drivers/pci/bus.c index d6c5496ad7..201675b486 100644 --- a/drivers/pci/bus.c +++ b/drivers/pci/bus.c @@ -27,11 +27,11 @@ static int pci_match(struct device_d *dev, struct driver_d *drv) { struct pci_dev *pdev = to_pci_dev(dev); struct pci_driver *pdrv = to_pci_driver(drv); - struct pci_device_id *id; + const struct pci_device_id *id; - for (id = (struct pci_device_id *)pdrv->id_table; id->vendor; id++) + for (id = pdrv->id_table; id->vendor; id++) if (pci_match_one_device(id, pdev)) { - dev->priv = id; + pdev->id = id; return 0; } @@ -43,7 +43,7 @@ static int pci_probe(struct device_d *dev) struct pci_dev *pdev = to_pci_dev(dev); struct pci_driver *pdrv = to_pci_driver(dev->driver); - return pdrv->probe(pdev, dev->priv); + return pdrv->probe(pdev, pdev->id); } static void pci_remove(struct device_d *dev) diff --git a/drivers/pci/pcie-designware.c b/drivers/pci/pcie-designware.c index 4edaede10f..4962a19649 100644 --- a/drivers/pci/pcie-designware.c +++ b/drivers/pci/pcie-designware.c @@ -350,13 +350,6 @@ static void dw_pcie_prog_viewport_io_outbound(struct pcie_port *pp) dw_pcie_writel_rc(pp, PCIE_ATU_ENABLE, PCIE_ATU_CR2); } -struct pci_bus *get_parent_bus(struct pci_bus *bus) -{ - struct pci_dev *bridge = container_of(bus->parent, struct pci_dev, dev); - - return bridge->bus; -} - static int dw_pcie_rd_other_conf(struct pcie_port *pp, struct pci_bus *bus, u32 devfn, int where, int size, u32 *val) { @@ -367,7 +360,7 @@ static int dw_pcie_rd_other_conf(struct pcie_port *pp, struct pci_bus *bus, PCIE_ATU_FUNC(PCI_FUNC(devfn)); address = where & ~0x3; - if (get_parent_bus(bus)->number == pp->root_bus_nr) { + if (bus->primary == pp->root_bus_nr) { dw_pcie_prog_viewport_cfg0(pp, busdev); ret = dw_pcie_cfg_read(pp->va_cfg0_base + address, where, size, val); @@ -392,7 +385,7 @@ static int dw_pcie_wr_other_conf(struct pcie_port *pp, struct pci_bus *bus, PCIE_ATU_FUNC(PCI_FUNC(devfn)); address = where & ~0x3; - if (get_parent_bus(bus)->number == pp->root_bus_nr) { + if (bus->primary == pp->root_bus_nr) { dw_pcie_prog_viewport_cfg0(pp, busdev); ret = dw_pcie_cfg_write(pp->va_cfg0_base + address, where, size, val); |