Commit 57468af3 authored by Ralf Baechle's avatar Ralf Baechle

Define and initialize kdb_lock using DEFINE_SPINLOCK.

Convert kgdb_cpulock into a raw_spinlock_t.
    
SPIN_LOCK_UNLOCKED is deprecated and it's replacement DEFINE_SPINLOCK is
not suitable for arrays of spinlocks.
Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
parent f8bb3af9
...@@ -176,8 +176,10 @@ int kgdb_enabled; ...@@ -176,8 +176,10 @@ int kgdb_enabled;
/* /*
* spin locks for smp case * spin locks for smp case
*/ */
static spinlock_t kgdb_lock = SPIN_LOCK_UNLOCKED; static DEFINE_SPINLOCK(kgdb_lock);
static spinlock_t kgdb_cpulock[NR_CPUS] = { [0 ... NR_CPUS-1] = SPIN_LOCK_UNLOCKED}; static raw_spinlock_t kgdb_cpulock[NR_CPUS] = {
[0 ... NR_CPUS-1] = __RAW_SPIN_LOCK_UNLOCKED;
};
/* /*
* BUFMAX defines the maximum number of characters in inbound/outbound buffers * BUFMAX defines the maximum number of characters in inbound/outbound buffers
...@@ -661,8 +663,8 @@ static void kgdb_wait(void *arg) ...@@ -661,8 +663,8 @@ static void kgdb_wait(void *arg)
local_irq_save(flags); local_irq_save(flags);
spin_lock(&kgdb_cpulock[cpu]); __raw_spin_lock(&kgdb_cpulock[cpu]);
spin_unlock(&kgdb_cpulock[cpu]); __raw_spin_unlock(&kgdb_cpulock[cpu]);
local_irq_restore(flags); local_irq_restore(flags);
} }
...@@ -710,7 +712,7 @@ void handle_exception (struct gdb_regs *regs) ...@@ -710,7 +712,7 @@ void handle_exception (struct gdb_regs *regs)
* acquire the CPU spinlocks * acquire the CPU spinlocks
*/ */
for (i = num_online_cpus()-1; i >= 0; i--) for (i = num_online_cpus()-1; i >= 0; i--)
if (spin_trylock(&kgdb_cpulock[i]) == 0) if (__raw_spin_trylock(&kgdb_cpulock[i]) == 0)
panic("kgdb: couldn't get cpulock %d\n", i); panic("kgdb: couldn't get cpulock %d\n", i);
/* /*
...@@ -985,7 +987,7 @@ void handle_exception (struct gdb_regs *regs) ...@@ -985,7 +987,7 @@ void handle_exception (struct gdb_regs *regs)
exit_kgdb_exception: exit_kgdb_exception:
/* release locks so other CPUs can go */ /* release locks so other CPUs can go */
for (i = num_online_cpus()-1; i >= 0; i--) for (i = num_online_cpus()-1; i >= 0; i--)
spin_unlock(&kgdb_cpulock[i]); __raw_spin_unlock(&kgdb_cpulock[i]);
spin_unlock(&kgdb_lock); spin_unlock(&kgdb_lock);
__flush_cache_all(); __flush_cache_all();
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment