Merge branch 'core-locking-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
* 'core-locking-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (27 commits)
rtmutex: Add missing rcu_read_unlock() in debug_rt_mutex_print_deadlock()
lockdep: Comment all warnings
lib: atomic64: Change the type of local lock to raw_spinlock_t
locking, lib/atomic64: Annotate atomic64_lock::lock as raw
locking, x86, iommu: Annotate qi->q_lock as raw
locking, x86, iommu: Annotate irq_2_ir_lock as raw
locking, x86, iommu: Annotate iommu->register_lock as raw
locking, dma, ipu: Annotate bank_lock as raw
locking, ARM: Annotate low level hw locks as raw
locking, drivers/dca: Annotate dca_lock as raw
locking, powerpc: Annotate uic->lock as raw
locking, x86: mce: Annotate cmci_discover_lock as raw
locking, ACPI: Annotate c3_lock as raw
locking, oprofile: Annotate oprofilefs lock as raw
locking, video: Annotate vga console lock as raw
locking, latencytop: Annotate latency_lock as raw
locking, timer_stats: Annotate table_lock as raw
locking, rwsem: Annotate inner lock as raw
locking, semaphores: Annotate inner lock as raw
locking, sched: Annotate thread_group_cputimer as raw
...
Fix up conflicts in kernel/posix-cpu-timers.c manually: making
cputimer->cputime a raw lock conflicted with the ABBA fix in commit
bcd5cff721
("cputimer: Cure lock inversion").
This commit is contained in:
@@ -93,7 +93,7 @@
|
||||
#define CPLD_FLASH_WR_ENABLE 1
|
||||
|
||||
#ifndef __ASSEMBLY__
|
||||
extern spinlock_t nw_gpio_lock;
|
||||
extern raw_spinlock_t nw_gpio_lock;
|
||||
extern void nw_gpio_modify_op(unsigned int mask, unsigned int set);
|
||||
extern void nw_gpio_modify_io(unsigned int mask, unsigned int in);
|
||||
extern unsigned int nw_gpio_read(void);
|
||||
|
@@ -68,7 +68,7 @@ static inline void wb977_ww(int reg, int val)
|
||||
/*
|
||||
* This is a lock for accessing ports GP1_IO_BASE and GP2_IO_BASE
|
||||
*/
|
||||
DEFINE_SPINLOCK(nw_gpio_lock);
|
||||
DEFINE_RAW_SPINLOCK(nw_gpio_lock);
|
||||
EXPORT_SYMBOL(nw_gpio_lock);
|
||||
|
||||
static unsigned int current_gpio_op;
|
||||
@@ -327,9 +327,9 @@ static inline void wb977_init_gpio(void)
|
||||
/*
|
||||
* Set Group1/Group2 outputs
|
||||
*/
|
||||
spin_lock_irqsave(&nw_gpio_lock, flags);
|
||||
raw_spin_lock_irqsave(&nw_gpio_lock, flags);
|
||||
nw_gpio_modify_op(-1, GPIO_RED_LED | GPIO_FAN);
|
||||
spin_unlock_irqrestore(&nw_gpio_lock, flags);
|
||||
raw_spin_unlock_irqrestore(&nw_gpio_lock, flags);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -390,9 +390,9 @@ static void __init cpld_init(void)
|
||||
{
|
||||
unsigned long flags;
|
||||
|
||||
spin_lock_irqsave(&nw_gpio_lock, flags);
|
||||
raw_spin_lock_irqsave(&nw_gpio_lock, flags);
|
||||
nw_cpld_modify(-1, CPLD_UNMUTE | CPLD_7111_DISABLE);
|
||||
spin_unlock_irqrestore(&nw_gpio_lock, flags);
|
||||
raw_spin_unlock_irqrestore(&nw_gpio_lock, flags);
|
||||
}
|
||||
|
||||
static unsigned char rwa_unlock[] __initdata =
|
||||
@@ -616,9 +616,9 @@ static int __init nw_hw_init(void)
|
||||
cpld_init();
|
||||
rwa010_init();
|
||||
|
||||
spin_lock_irqsave(&nw_gpio_lock, flags);
|
||||
raw_spin_lock_irqsave(&nw_gpio_lock, flags);
|
||||
nw_gpio_modify_op(GPIO_RED_LED|GPIO_GREEN_LED, DEFAULT_LEDS);
|
||||
spin_unlock_irqrestore(&nw_gpio_lock, flags);
|
||||
raw_spin_unlock_irqrestore(&nw_gpio_lock, flags);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
@@ -31,13 +31,13 @@
|
||||
static char led_state;
|
||||
static char hw_led_state;
|
||||
|
||||
static DEFINE_SPINLOCK(leds_lock);
|
||||
static DEFINE_RAW_SPINLOCK(leds_lock);
|
||||
|
||||
static void netwinder_leds_event(led_event_t evt)
|
||||
{
|
||||
unsigned long flags;
|
||||
|
||||
spin_lock_irqsave(&leds_lock, flags);
|
||||
raw_spin_lock_irqsave(&leds_lock, flags);
|
||||
|
||||
switch (evt) {
|
||||
case led_start:
|
||||
@@ -117,12 +117,12 @@ static void netwinder_leds_event(led_event_t evt)
|
||||
break;
|
||||
}
|
||||
|
||||
spin_unlock_irqrestore(&leds_lock, flags);
|
||||
raw_spin_unlock_irqrestore(&leds_lock, flags);
|
||||
|
||||
if (led_state & LED_STATE_ENABLED) {
|
||||
spin_lock_irqsave(&nw_gpio_lock, flags);
|
||||
raw_spin_lock_irqsave(&nw_gpio_lock, flags);
|
||||
nw_gpio_modify_op(GPIO_RED_LED | GPIO_GREEN_LED, hw_led_state);
|
||||
spin_unlock_irqrestore(&nw_gpio_lock, flags);
|
||||
raw_spin_unlock_irqrestore(&nw_gpio_lock, flags);
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user