mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-08-28 20:24:02 -04:00
While the GCC and Clang compilers already define __ASSEMBLER__ automatically when compiling assembly code, __ASSEMBLY__ is a macro that only gets defined by the Makefiles in the kernel. This can be very confusing when switching between userspace and kernelspace coding, or when dealing with uapi headers that rather should use __ASSEMBLER__ instead. So let's standardize on the __ASSEMBLER__ macro that is provided by the compilers now. This is a completely mechanical patch (done with a simple "sed -i" statement). Cc: David S. Miller <davem@davemloft.net> Cc: Andreas Larsson <andreas@gaisler.com> Cc: sparclinux@vger.kernel.org Signed-off-by: Thomas Huth <thuth@redhat.com> Reviewed-by: Andreas Larsson <andreas@gaisler.com> Signed-off-by: Andreas Larsson <andreas@gaisler.com>
49 lines
1.0 KiB
C
49 lines
1.0 KiB
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
/*
|
|
* include/asm/irqflags.h
|
|
*
|
|
* IRQ flags handling
|
|
*
|
|
* This file gets included from lowlevel asm headers too, to provide
|
|
* wrapped versions of the local_irq_*() APIs, based on the
|
|
* arch_local_irq_*() functions from the lowlevel headers.
|
|
*/
|
|
#ifndef _ASM_IRQFLAGS_H
|
|
#define _ASM_IRQFLAGS_H
|
|
|
|
#ifndef __ASSEMBLER__
|
|
|
|
#include <linux/types.h>
|
|
#include <asm/psr.h>
|
|
|
|
void arch_local_irq_restore(unsigned long);
|
|
unsigned long arch_local_irq_save(void);
|
|
void arch_local_irq_enable(void);
|
|
|
|
static inline notrace unsigned long arch_local_save_flags(void)
|
|
{
|
|
unsigned long flags;
|
|
|
|
asm volatile("rd %%psr, %0" : "=r" (flags));
|
|
return flags;
|
|
}
|
|
|
|
static inline notrace void arch_local_irq_disable(void)
|
|
{
|
|
arch_local_irq_save();
|
|
}
|
|
|
|
static inline notrace bool arch_irqs_disabled_flags(unsigned long flags)
|
|
{
|
|
return (flags & PSR_PIL) != 0;
|
|
}
|
|
|
|
static inline notrace bool arch_irqs_disabled(void)
|
|
{
|
|
return arch_irqs_disabled_flags(arch_local_save_flags());
|
|
}
|
|
|
|
#endif /* (__ASSEMBLER__) */
|
|
|
|
#endif /* !(_ASM_IRQFLAGS_H) */
|