diff options
author | Paul Mundt <lethal@linux-sh.org> | 2010-09-20 05:56:13 -0400 |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2010-09-20 05:56:13 -0400 |
commit | 39a90865f07f05343c450e91a56578bb8f69c5e8 (patch) | |
tree | 1d7b5d8f092af89c65ab5d4fc81cca62765e7917 /arch/sh/drivers/pci/pci.c | |
parent | c524ebf5a6b78d25219d64a05b3876cde719b5ff (diff) |
sh: pci: Use a generic raw spinlock for PCI config access locking.
This copies the pci_config_lock idea from x86 over, allowing us to kill
off a couple of existing private locks. At the same time, these need to
be converted to raw spinlocks for -rt kernels, so we make that change at
the same time. This should make it easier for future parts to get the
locking right instead of inevitable ending up with lock type mismatches.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'arch/sh/drivers/pci/pci.c')
-rw-r--r-- | arch/sh/drivers/pci/pci.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/arch/sh/drivers/pci/pci.c b/arch/sh/drivers/pci/pci.c index e4c988d46ad5..af4191bbb179 100644 --- a/arch/sh/drivers/pci/pci.c +++ b/arch/sh/drivers/pci/pci.c | |||
@@ -19,6 +19,7 @@ | |||
19 | #include <linux/dma-debug.h> | 19 | #include <linux/dma-debug.h> |
20 | #include <linux/io.h> | 20 | #include <linux/io.h> |
21 | #include <linux/mutex.h> | 21 | #include <linux/mutex.h> |
22 | #include <linux/spinlock.h> | ||
22 | 23 | ||
23 | unsigned long PCIBIOS_MIN_IO = 0x0000; | 24 | unsigned long PCIBIOS_MIN_IO = 0x0000; |
24 | unsigned long PCIBIOS_MIN_MEM = 0; | 25 | unsigned long PCIBIOS_MIN_MEM = 0; |
@@ -56,6 +57,11 @@ static void __devinit pcibios_scanbus(struct pci_channel *hose) | |||
56 | } | 57 | } |
57 | } | 58 | } |
58 | 59 | ||
60 | /* | ||
61 | * This interrupt-safe spinlock protects all accesses to PCI | ||
62 | * configuration space. | ||
63 | */ | ||
64 | DEFINE_RAW_SPINLOCK(pci_config_lock); | ||
59 | static DEFINE_MUTEX(pci_scan_mutex); | 65 | static DEFINE_MUTEX(pci_scan_mutex); |
60 | 66 | ||
61 | int __devinit register_pci_controller(struct pci_channel *hose) | 67 | int __devinit register_pci_controller(struct pci_channel *hose) |