| From 1e83c48296068dd91bb9fb22f6c74de67213b1ec Mon Sep 17 00:00:00 2001 |
| From: Thomas Gleixner <tglx@linutronix.de> |
| Date: Sat, 25 Jul 2009 18:27:52 +0200 |
| Subject: [PATCH] x86: Convert pci_config_lock to raw_spinlock |
| |
| commit bde31e2e149219765bb3a4bb3c568fa9623b5521 in tip. |
| |
| Signed-off-by: Thomas Gleixner <tglx@linutronix.de> |
| |
| diff --git a/arch/x86/include/asm/pci_x86.h b/arch/x86/include/asm/pci_x86.h |
| index 1a04223..8d8797e 100644 |
| --- a/arch/x86/include/asm/pci_x86.h |
| +++ b/arch/x86/include/asm/pci_x86.h |
| @@ -83,7 +83,7 @@ struct irq_routing_table { |
| |
| extern unsigned int pcibios_irq_mask; |
| |
| -extern spinlock_t pci_config_lock; |
| +extern raw_spinlock_t pci_config_lock; |
| |
| extern int (*pcibios_enable_irq)(struct pci_dev *dev); |
| extern void (*pcibios_disable_irq)(struct pci_dev *dev); |
| diff --git a/arch/x86/pci/common.c b/arch/x86/pci/common.c |
| index 294e10c..b41aa20 100644 |
| --- a/arch/x86/pci/common.c |
| +++ b/arch/x86/pci/common.c |
| @@ -75,7 +75,7 @@ struct pci_ops pci_root_ops = { |
| * This interrupt-safe spinlock protects all accesses to PCI |
| * configuration space. |
| */ |
| -DEFINE_SPINLOCK(pci_config_lock); |
| +DEFINE_RAW_SPINLOCK(pci_config_lock); |
| |
| static int __devinit can_skip_ioresource_align(const struct dmi_system_id *d) |
| { |
| diff --git a/arch/x86/pci/direct.c b/arch/x86/pci/direct.c |
| index 347d882..bd33620 100644 |
| --- a/arch/x86/pci/direct.c |
| +++ b/arch/x86/pci/direct.c |
| @@ -27,7 +27,7 @@ static int pci_conf1_read(unsigned int seg, unsigned int bus, |
| return -EINVAL; |
| } |
| |
| - spin_lock_irqsave(&pci_config_lock, flags); |
| + raw_spin_lock_irqsave(&pci_config_lock, flags); |
| |
| outl(PCI_CONF1_ADDRESS(bus, devfn, reg), 0xCF8); |
| |
| @@ -43,7 +43,7 @@ static int pci_conf1_read(unsigned int seg, unsigned int bus, |
| break; |
| } |
| |
| - spin_unlock_irqrestore(&pci_config_lock, flags); |
| + raw_spin_unlock_irqrestore(&pci_config_lock, flags); |
| |
| return 0; |
| } |
| @@ -56,7 +56,7 @@ static int pci_conf1_write(unsigned int seg, unsigned int bus, |
| if ((bus > 255) || (devfn > 255) || (reg > 4095)) |
| return -EINVAL; |
| |
| - spin_lock_irqsave(&pci_config_lock, flags); |
| + raw_spin_lock_irqsave(&pci_config_lock, flags); |
| |
| outl(PCI_CONF1_ADDRESS(bus, devfn, reg), 0xCF8); |
| |
| @@ -72,7 +72,7 @@ static int pci_conf1_write(unsigned int seg, unsigned int bus, |
| break; |
| } |
| |
| - spin_unlock_irqrestore(&pci_config_lock, flags); |
| + raw_spin_unlock_irqrestore(&pci_config_lock, flags); |
| |
| return 0; |
| } |
| @@ -108,7 +108,7 @@ static int pci_conf2_read(unsigned int seg, unsigned int bus, |
| if (dev & 0x10) |
| return PCIBIOS_DEVICE_NOT_FOUND; |
| |
| - spin_lock_irqsave(&pci_config_lock, flags); |
| + raw_spin_lock_irqsave(&pci_config_lock, flags); |
| |
| outb((u8)(0xF0 | (fn << 1)), 0xCF8); |
| outb((u8)bus, 0xCFA); |
| @@ -127,7 +127,7 @@ static int pci_conf2_read(unsigned int seg, unsigned int bus, |
| |
| outb(0, 0xCF8); |
| |
| - spin_unlock_irqrestore(&pci_config_lock, flags); |
| + raw_spin_unlock_irqrestore(&pci_config_lock, flags); |
| |
| return 0; |
| } |
| @@ -147,7 +147,7 @@ static int pci_conf2_write(unsigned int seg, unsigned int bus, |
| if (dev & 0x10) |
| return PCIBIOS_DEVICE_NOT_FOUND; |
| |
| - spin_lock_irqsave(&pci_config_lock, flags); |
| + raw_spin_lock_irqsave(&pci_config_lock, flags); |
| |
| outb((u8)(0xF0 | (fn << 1)), 0xCF8); |
| outb((u8)bus, 0xCFA); |
| @@ -166,7 +166,7 @@ static int pci_conf2_write(unsigned int seg, unsigned int bus, |
| |
| outb(0, 0xCF8); |
| |
| - spin_unlock_irqrestore(&pci_config_lock, flags); |
| + raw_spin_unlock_irqrestore(&pci_config_lock, flags); |
| |
| return 0; |
| } |
| diff --git a/arch/x86/pci/mmconfig_32.c b/arch/x86/pci/mmconfig_32.c |
| index 90d5fd4..a3d9c54 100644 |
| --- a/arch/x86/pci/mmconfig_32.c |
| +++ b/arch/x86/pci/mmconfig_32.c |
| @@ -64,7 +64,7 @@ err: *value = -1; |
| if (!base) |
| goto err; |
| |
| - spin_lock_irqsave(&pci_config_lock, flags); |
| + raw_spin_lock_irqsave(&pci_config_lock, flags); |
| |
| pci_exp_set_dev_base(base, bus, devfn); |
| |
| @@ -79,7 +79,7 @@ err: *value = -1; |
| *value = mmio_config_readl(mmcfg_virt_addr + reg); |
| break; |
| } |
| - spin_unlock_irqrestore(&pci_config_lock, flags); |
| + raw_spin_unlock_irqrestore(&pci_config_lock, flags); |
| |
| return 0; |
| } |
| @@ -97,7 +97,7 @@ static int pci_mmcfg_write(unsigned int seg, unsigned int bus, |
| if (!base) |
| return -EINVAL; |
| |
| - spin_lock_irqsave(&pci_config_lock, flags); |
| + raw_spin_lock_irqsave(&pci_config_lock, flags); |
| |
| pci_exp_set_dev_base(base, bus, devfn); |
| |
| @@ -112,7 +112,7 @@ static int pci_mmcfg_write(unsigned int seg, unsigned int bus, |
| mmio_config_writel(mmcfg_virt_addr + reg, value); |
| break; |
| } |
| - spin_unlock_irqrestore(&pci_config_lock, flags); |
| + raw_spin_unlock_irqrestore(&pci_config_lock, flags); |
| |
| return 0; |
| } |
| diff --git a/arch/x86/pci/numaq_32.c b/arch/x86/pci/numaq_32.c |
| index 8223738..5c9e245 100644 |
| --- a/arch/x86/pci/numaq_32.c |
| +++ b/arch/x86/pci/numaq_32.c |
| @@ -37,7 +37,7 @@ static int pci_conf1_mq_read(unsigned int seg, unsigned int bus, |
| if (!value || (bus >= MAX_MP_BUSSES) || (devfn > 255) || (reg > 255)) |
| return -EINVAL; |
| |
| - spin_lock_irqsave(&pci_config_lock, flags); |
| + raw_spin_lock_irqsave(&pci_config_lock, flags); |
| |
| write_cf8(bus, devfn, reg); |
| |
| @@ -62,7 +62,7 @@ static int pci_conf1_mq_read(unsigned int seg, unsigned int bus, |
| break; |
| } |
| |
| - spin_unlock_irqrestore(&pci_config_lock, flags); |
| + raw_spin_unlock_irqrestore(&pci_config_lock, flags); |
| |
| return 0; |
| } |
| @@ -76,7 +76,7 @@ static int pci_conf1_mq_write(unsigned int seg, unsigned int bus, |
| if ((bus >= MAX_MP_BUSSES) || (devfn > 255) || (reg > 255)) |
| return -EINVAL; |
| |
| - spin_lock_irqsave(&pci_config_lock, flags); |
| + raw_spin_lock_irqsave(&pci_config_lock, flags); |
| |
| write_cf8(bus, devfn, reg); |
| |
| @@ -101,7 +101,7 @@ static int pci_conf1_mq_write(unsigned int seg, unsigned int bus, |
| break; |
| } |
| |
| - spin_unlock_irqrestore(&pci_config_lock, flags); |
| + raw_spin_unlock_irqrestore(&pci_config_lock, flags); |
| |
| return 0; |
| } |
| diff --git a/arch/x86/pci/pcbios.c b/arch/x86/pci/pcbios.c |
| index 1c975cc..2daa521 100644 |
| --- a/arch/x86/pci/pcbios.c |
| +++ b/arch/x86/pci/pcbios.c |
| @@ -161,7 +161,7 @@ static int pci_bios_read(unsigned int seg, unsigned int bus, |
| if (!value || (bus > 255) || (devfn > 255) || (reg > 255)) |
| return -EINVAL; |
| |
| - spin_lock_irqsave(&pci_config_lock, flags); |
| + raw_spin_lock_irqsave(&pci_config_lock, flags); |
| |
| switch (len) { |
| case 1: |
| @@ -212,7 +212,7 @@ static int pci_bios_read(unsigned int seg, unsigned int bus, |
| break; |
| } |
| |
| - spin_unlock_irqrestore(&pci_config_lock, flags); |
| + raw_spin_unlock_irqrestore(&pci_config_lock, flags); |
| |
| return (int)((result & 0xff00) >> 8); |
| } |
| @@ -227,7 +227,7 @@ static int pci_bios_write(unsigned int seg, unsigned int bus, |
| if ((bus > 255) || (devfn > 255) || (reg > 255)) |
| return -EINVAL; |
| |
| - spin_lock_irqsave(&pci_config_lock, flags); |
| + raw_spin_lock_irqsave(&pci_config_lock, flags); |
| |
| switch (len) { |
| case 1: |
| @@ -268,7 +268,7 @@ static int pci_bios_write(unsigned int seg, unsigned int bus, |
| break; |
| } |
| |
| - spin_unlock_irqrestore(&pci_config_lock, flags); |
| + raw_spin_unlock_irqrestore(&pci_config_lock, flags); |
| |
| return (int)((result & 0xff00) >> 8); |
| } |
| -- |
| 1.7.1.1 |
| |