Merge tag 'pwm/for-5.15-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/thierry...
[linux-2.6-microblaze.git] / arch / arm / include / asm / unified.h
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 /*
3  * include/asm-arm/unified.h - Unified Assembler Syntax helper macros
4  *
5  * Copyright (C) 2008 ARM Limited
6  */
7
8 #ifndef __ASM_UNIFIED_H
9 #define __ASM_UNIFIED_H
10
11 #if defined(__ASSEMBLY__)
12         .syntax unified
13 #else
14 __asm__(".syntax unified");
15 #endif
16
17 #ifdef CONFIG_CPU_V7M
18 #define AR_CLASS(x...)
19 #define M_CLASS(x...)   x
20 #else
21 #define AR_CLASS(x...)  x
22 #define M_CLASS(x...)
23 #endif
24
25 #ifdef CONFIG_THUMB2_KERNEL
26
27 /* The CPSR bit describing the instruction set (Thumb) */
28 #define PSR_ISETSTATE   PSR_T_BIT
29
30 #define ARM(x...)
31 #define THUMB(x...)     x
32 #ifdef __ASSEMBLY__
33 #define W(instr)        instr.w
34 #else
35 #define WASM(instr)     #instr ".w"
36 #endif
37
38 #else   /* !CONFIG_THUMB2_KERNEL */
39
40 /* The CPSR bit describing the instruction set (ARM) */
41 #define PSR_ISETSTATE   0
42
43 #define ARM(x...)       x
44 #define THUMB(x...)
45 #ifdef __ASSEMBLY__
46 #define W(instr)        instr
47 #else
48 #define WASM(instr)     #instr
49 #endif
50
51 #endif  /* CONFIG_THUMB2_KERNEL */
52
53 #endif  /* !__ASM_UNIFIED_H */