diff options
author | Julia Cartwright | 2017-03-21 23:43:02 +0100 |
---|---|---|
committer | Matt Turner | 2017-09-04 21:04:31 +0200 |
commit | b5a3a128b44219f0802a8b7895e09233853c8b43 (patch) | |
tree | e706ab2929941997d0f5481c2e8b28568e3615d1 /arch/alpha/kernel/core_marvel.c | |
parent | alpha: cleanup: remove __NR_sys_epoll_*, leave __NR_epoll_* (diff) | |
download | kernel-qcow2-linux-b5a3a128b44219f0802a8b7895e09233853c8b43.tar.gz kernel-qcow2-linux-b5a3a128b44219f0802a8b7895e09233853c8b43.tar.xz kernel-qcow2-linux-b5a3a128b44219f0802a8b7895e09233853c8b43.zip |
alpha: marvel: make use of raw_spinlock variants
The alpha/marvel code currently implements an irq_chip for handling
interrupts; due to how irq_chip handling is done, it's necessary for the
irq_chip methods to be invoked from hardirq context, even on a a
real-time kernel. Because the spinlock_t type becomes a "sleeping"
spinlock w/ RT kernels, it is not suitable to be used with irq_chips.
A quick audit of the operations under the lock reveal that they do only
minimal, bounded work, and are therefore safe to do under a raw spinlock.
Signed-off-by: Julia Cartwright <julia@ni.com>
Signed-off-by: Matt Turner <mattst88@gmail.com>
Diffstat (limited to 'arch/alpha/kernel/core_marvel.c')
-rw-r--r-- | arch/alpha/kernel/core_marvel.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/alpha/kernel/core_marvel.c b/arch/alpha/kernel/core_marvel.c index 03ff832b1cb4..b10c316475dd 100644 --- a/arch/alpha/kernel/core_marvel.c +++ b/arch/alpha/kernel/core_marvel.c @@ -118,7 +118,7 @@ alloc_io7(unsigned int pe) io7 = alloc_bootmem(sizeof(*io7)); io7->pe = pe; - spin_lock_init(&io7->irq_lock); + raw_spin_lock_init(&io7->irq_lock); for (h = 0; h < 4; h++) { io7->ports[h].io7 = io7; |