提交 047c7c42 编写于 作者: J Jiri Kosina 提交者: Linus Torvalds

[PATCH] CRIS: turn local_save_flags() + local_irq_disable() into local_irq_save() in headers

Various headers for CRIS architecture contain local_irq_disable() after
local_save_flags().  Turn it into local_irq_save().
Signed-off-by: NJiri Kosina <jkosina@suse.cz>
Cc: Mikael Starvik <starvik@axis.com>
Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
上级 7c101b7b
......@@ -30,8 +30,7 @@ static inline int waking_non_zero(struct semaphore *sem)
unsigned long flags;
int ret = 0;
local_save_flags(flags);
local_irq_disable();
local_irq_save(flags);
if (read(&sem->waking) > 0) {
dec(&sem->waking);
ret = 1;
......@@ -46,8 +45,7 @@ static inline int waking_non_zero_interruptible(struct semaphore *sem,
int ret = 0;
unsigned long flags;
local_save_flags(flags);
local_irq_disable();
local_irq_save(flags);
if (read(&sem->waking) > 0) {
dec(&sem->waking);
ret = 1;
......@@ -64,8 +62,7 @@ static inline int waking_non_zero_trylock(struct semaphore *sem)
int ret = 1;
unsigned long flags;
local_save_flags(flags);
local_irq_disable();
local_irq_save(flags);
if (read(&sem->waking) <= 0)
inc(&sem->count);
else {
......
......@@ -44,8 +44,7 @@ static inline unsigned long __xchg(unsigned long x, volatile void * ptr, int siz
/* since Etrax doesn't have any atomic xchg instructions, we need to disable
irq's (if enabled) and do it with move.d's */
unsigned long flags,temp;
local_save_flags(flags); /* save flags, including irq enable bit */
local_irq_disable(); /* shut off irq's */
local_irq_save(flags); /* save flags, including irq enable bit and shut off irqs */
switch (size) {
case 1:
*((unsigned char *)&temp) = x;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册