LoongArch: Make regs_irqs_disabled() more clear
[ Upstream commit bb0511d59db9b3e40c8d51f0d151ccd0fd44071d ]
In the current code, the definition of regs_irqs_disabled() is actually
"!(regs->csr_prmd & CSR_CRMD_IE)" because arch_irqs_disabled_flags() is
defined as "!(flags & CSR_CRMD_IE)", it looks a little strange.
Define regs_irqs_disabled() as !(regs->csr_prmd & CSR_PRMD_PIE) directly
to make it more clear, no functional change.
While at it, the return value of regs_irqs_disabled() is true or false,
so change its type to reflect that and also make it always inline.
Fixes: 803b0fc5c3
("LoongArch: Add process management")
Signed-off-by: Tiezhu Yang <yangtiezhu@loongson.cn>
Signed-off-by: Huacai Chen <chenhuacai@loongson.cn>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
5767f4ac64
commit
eaa0849818
@@ -33,9 +33,9 @@ struct pt_regs {
|
|||||||
unsigned long __last[];
|
unsigned long __last[];
|
||||||
} __aligned(8);
|
} __aligned(8);
|
||||||
|
|
||||||
static inline int regs_irqs_disabled(struct pt_regs *regs)
|
static __always_inline bool regs_irqs_disabled(struct pt_regs *regs)
|
||||||
{
|
{
|
||||||
return arch_irqs_disabled_flags(regs->csr_prmd);
|
return !(regs->csr_prmd & CSR_PRMD_PIE);
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline unsigned long kernel_stack_pointer(struct pt_regs *regs)
|
static inline unsigned long kernel_stack_pointer(struct pt_regs *regs)
|
||||||
|
Reference in New Issue
Block a user