aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/pci/host
diff options
context:
space:
mode:
authorAndrew Murray <amurray@embedded-bits.co.uk>2014-04-14 18:07:45 -0400
committerBjorn Helgaas <bhelgaas@google.com>2014-04-29 12:39:37 -0400
commit85802bbe755725b5bf92386b8a52eb6d089b581e (patch)
treea1ed62bae4f989304a05fdfa696bed9a87dc01ef /drivers/pci/host
parentccfdd7aebad1b7a46724196fe1f4557e64eff599 (diff)
PCI: mvebu: Remove unnecessary use of 'conf_lock' spinlock
Serialization of configuration accesses is provided by 'pci_lock' in drivers/pci/access.c thus making the driver's 'conf_lock' superfluous. Signed-off-by: Andrew Murray <amurray@embedded-bits.co.uk> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com> Acked-by: Jason Cooper <jason@lakedaemon.net>
Diffstat (limited to 'drivers/pci/host')
-rw-r--r--drivers/pci/host/pci-mvebu.c8
1 files changed, 0 insertions, 8 deletions
diff --git a/drivers/pci/host/pci-mvebu.c b/drivers/pci/host/pci-mvebu.c
index e384e2534594..29d64c9efa85 100644
--- a/drivers/pci/host/pci-mvebu.c
+++ b/drivers/pci/host/pci-mvebu.c
@@ -113,7 +113,6 @@ struct mvebu_pcie {
113struct mvebu_pcie_port { 113struct mvebu_pcie_port {
114 char *name; 114 char *name;
115 void __iomem *base; 115 void __iomem *base;
116 spinlock_t conf_lock;
117 u32 port; 116 u32 port;
118 u32 lane; 117 u32 lane;
119 int devfn; 118 int devfn;
@@ -638,7 +637,6 @@ static int mvebu_pcie_wr_conf(struct pci_bus *bus, u32 devfn,
638{ 637{
639 struct mvebu_pcie *pcie = sys_to_pcie(bus->sysdata); 638 struct mvebu_pcie *pcie = sys_to_pcie(bus->sysdata);
640 struct mvebu_pcie_port *port; 639 struct mvebu_pcie_port *port;
641 unsigned long flags;
642 int ret; 640 int ret;
643 641
644 port = mvebu_pcie_find_port(pcie, bus, devfn); 642 port = mvebu_pcie_find_port(pcie, bus, devfn);
@@ -664,10 +662,8 @@ static int mvebu_pcie_wr_conf(struct pci_bus *bus, u32 devfn,
664 return PCIBIOS_DEVICE_NOT_FOUND; 662 return PCIBIOS_DEVICE_NOT_FOUND;
665 663
666 /* Access the real PCIe interface */ 664 /* Access the real PCIe interface */
667 spin_lock_irqsave(&port->conf_lock, flags);
668 ret = mvebu_pcie_hw_wr_conf(port, bus, devfn, 665 ret = mvebu_pcie_hw_wr_conf(port, bus, devfn,
669 where, size, val); 666 where, size, val);
670 spin_unlock_irqrestore(&port->conf_lock, flags);
671 667
672 return ret; 668 return ret;
673} 669}
@@ -678,7 +674,6 @@ static int mvebu_pcie_rd_conf(struct pci_bus *bus, u32 devfn, int where,
678{ 674{
679 struct mvebu_pcie *pcie = sys_to_pcie(bus->sysdata); 675 struct mvebu_pcie *pcie = sys_to_pcie(bus->sysdata);
680 struct mvebu_pcie_port *port; 676 struct mvebu_pcie_port *port;
681 unsigned long flags;
682 int ret; 677 int ret;
683 678
684 port = mvebu_pcie_find_port(pcie, bus, devfn); 679 port = mvebu_pcie_find_port(pcie, bus, devfn);
@@ -710,10 +705,8 @@ static int mvebu_pcie_rd_conf(struct pci_bus *bus, u32 devfn, int where,
710 } 705 }
711 706
712 /* Access the real PCIe interface */ 707 /* Access the real PCIe interface */
713 spin_lock_irqsave(&port->conf_lock, flags);
714 ret = mvebu_pcie_hw_rd_conf(port, bus, devfn, 708 ret = mvebu_pcie_hw_rd_conf(port, bus, devfn,
715 where, size, val); 709 where, size, val);
716 spin_unlock_irqrestore(&port->conf_lock, flags);
717 710
718 return ret; 711 return ret;
719} 712}
@@ -1060,7 +1053,6 @@ static int mvebu_pcie_probe(struct platform_device *pdev)
1060 mvebu_pcie_set_local_dev_nr(port, 1); 1053 mvebu_pcie_set_local_dev_nr(port, 1);
1061 1054
1062 port->dn = child; 1055 port->dn = child;
1063 spin_lock_init(&port->conf_lock);
1064 mvebu_sw_pci_bridge_init(port); 1056 mvebu_sw_pci_bridge_init(port);
1065 i++; 1057 i++;
1066 } 1058 }