Merge tag 'driver-core-3.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git...
[linux-2.6-block.git] / arch / mips / pci / pci-ar724x.c
index 204c8525c4bb130bf8f8ee39adddf6d295d11ca7..a1b7d2a1b0d583ec2437536eed917925c34be994 100644 (file)
@@ -9,7 +9,6 @@
  *  by the Free Software Foundation.
  */
 
-#include <linux/spinlock.h>
 #include <linux/irq.h>
 #include <linux/pci.h>
 #include <linux/module.h>
@@ -48,8 +47,6 @@ struct ar724x_pci_controller {
        bool bar0_is_cached;
        u32  bar0_value;
 
-       spinlock_t lock;
-
        struct pci_controller pci_controller;
        struct resource io_res;
        struct resource mem_res;
@@ -75,7 +72,6 @@ pci_bus_to_ar724x_controller(struct pci_bus *bus)
 static int ar724x_pci_local_write(struct ar724x_pci_controller *apc,
                                  int where, int size, u32 value)
 {
-       unsigned long flags;
        void __iomem *base;
        u32 data;
        int s;
@@ -86,8 +82,6 @@ static int ar724x_pci_local_write(struct ar724x_pci_controller *apc,
                return PCIBIOS_DEVICE_NOT_FOUND;
 
        base = apc->crp_base;
-
-       spin_lock_irqsave(&apc->lock, flags);
        data = __raw_readl(base + (where & ~3));
 
        switch (size) {
@@ -105,14 +99,12 @@ static int ar724x_pci_local_write(struct ar724x_pci_controller *apc,
                data = value;
                break;
        default:
-               spin_unlock_irqrestore(&apc->lock, flags);
                return PCIBIOS_BAD_REGISTER_NUMBER;
        }
 
        __raw_writel(data, base + (where & ~3));
        /* flush write */
        __raw_readl(base + (where & ~3));
-       spin_unlock_irqrestore(&apc->lock, flags);
 
        return PCIBIOS_SUCCESSFUL;
 }
@@ -121,7 +113,6 @@ static int ar724x_pci_read(struct pci_bus *bus, unsigned int devfn, int where,
                            int size, uint32_t *value)
 {
        struct ar724x_pci_controller *apc;
-       unsigned long flags;
        void __iomem *base;
        u32 data;
 
@@ -133,8 +124,6 @@ static int ar724x_pci_read(struct pci_bus *bus, unsigned int devfn, int where,
                return PCIBIOS_DEVICE_NOT_FOUND;
 
        base = apc->devcfg_base;
-
-       spin_lock_irqsave(&apc->lock, flags);
        data = __raw_readl(base + (where & ~3));
 
        switch (size) {
@@ -153,13 +142,9 @@ static int ar724x_pci_read(struct pci_bus *bus, unsigned int devfn, int where,
        case 4:
                break;
        default:
-               spin_unlock_irqrestore(&apc->lock, flags);
-
                return PCIBIOS_BAD_REGISTER_NUMBER;
        }
 
-       spin_unlock_irqrestore(&apc->lock, flags);
-
        if (where == PCI_BASE_ADDRESS_0 && size == 4 &&
            apc->bar0_is_cached) {
                /* use the cached value */
@@ -175,7 +160,6 @@ static int ar724x_pci_write(struct pci_bus *bus, unsigned int devfn, int where,
                             int size, uint32_t value)
 {
        struct ar724x_pci_controller *apc;
-       unsigned long flags;
        void __iomem *base;
        u32 data;
        int s;
@@ -209,8 +193,6 @@ static int ar724x_pci_write(struct pci_bus *bus, unsigned int devfn, int where,
        }
 
        base = apc->devcfg_base;
-
-       spin_lock_irqsave(&apc->lock, flags);
        data = __raw_readl(base + (where & ~3));
 
        switch (size) {
@@ -228,15 +210,12 @@ static int ar724x_pci_write(struct pci_bus *bus, unsigned int devfn, int where,
                data = value;
                break;
        default:
-               spin_unlock_irqrestore(&apc->lock, flags);
-
                return PCIBIOS_BAD_REGISTER_NUMBER;
        }
 
        __raw_writel(data, base + (where & ~3));
        /* flush write */
        __raw_readl(base + (where & ~3));
-       spin_unlock_irqrestore(&apc->lock, flags);
 
        return PCIBIOS_SUCCESSFUL;
 }
@@ -380,8 +359,6 @@ static int ar724x_pci_probe(struct platform_device *pdev)
        if (apc->irq < 0)
                return -EINVAL;
 
-       spin_lock_init(&apc->lock);
-
        res = platform_get_resource_byname(pdev, IORESOURCE_IO, "io_base");
        if (!res)
                return -EINVAL;