diff options
author | Paul Mundt <lethal@linux-sh.org> | 2010-09-20 18:56:13 +0900 |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2010-09-20 18:56:13 +0900 |
commit | 39a90865f07f05343c450e91a56578bb8f69c5e8 (patch) | |
tree | 1d7b5d8f092af89c65ab5d4fc81cca62765e7917 /arch/sh/drivers/pci/pci.c | |
parent | c524ebf5a6b78d25219d64a05b3876cde719b5ff (diff) | |
download | linux-stable-39a90865f07f05343c450e91a56578bb8f69c5e8.tar.gz linux-stable-39a90865f07f05343c450e91a56578bb8f69c5e8.tar.bz2 linux-stable-39a90865f07f05343c450e91a56578bb8f69c5e8.zip |
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 @@ #include <linux/dma-debug.h> #include <linux/io.h> #include <linux/mutex.h> +#include <linux/spinlock.h> unsigned long PCIBIOS_MIN_IO = 0x0000; unsigned long PCIBIOS_MIN_MEM = 0; @@ -56,6 +57,11 @@ static void __devinit pcibios_scanbus(struct pci_channel *hose) } } +/* + * This interrupt-safe spinlock protects all accesses to PCI + * configuration space. + */ +DEFINE_RAW_SPINLOCK(pci_config_lock); static DEFINE_MUTEX(pci_scan_mutex); int __devinit register_pci_controller(struct pci_channel *hose) |