LoongArch: Remove useless header compiler.h

The content of LoongArch's compiler.h is trivial, with some unused
anywhere, so inline the definitions and remove the header.

Signed-off-by: Jun Yi <yijun@loongson.cn>
Signed-off-by: Huacai Chen <chenhuacai@loongson.cn>
This commit is contained in:
Jun Yi 2022-07-21 19:10:49 +08:00 committed by Huacai Chen
parent ab6e57a69d
commit f62b7626cb
8 changed files with 6 additions and 32 deletions

View File

@ -69,7 +69,6 @@ config LOONGARCH
select GENERIC_TIME_VSYSCALL select GENERIC_TIME_VSYSCALL
select GPIOLIB select GPIOLIB
select HAVE_ARCH_AUDITSYSCALL select HAVE_ARCH_AUDITSYSCALL
select HAVE_ARCH_COMPILER_H
select HAVE_ARCH_MMAP_RND_BITS if MMU select HAVE_ARCH_MMAP_RND_BITS if MMU
select HAVE_ARCH_SECCOMP_FILTER select HAVE_ARCH_SECCOMP_FILTER
select HAVE_ARCH_TRACEHOOK select HAVE_ARCH_TRACEHOOK

View File

@ -10,7 +10,6 @@
#include <linux/types.h> #include <linux/types.h>
#include <asm/barrier.h> #include <asm/barrier.h>
#include <asm/cmpxchg.h> #include <asm/cmpxchg.h>
#include <asm/compiler.h>
#if __SIZEOF_LONG__ == 4 #if __SIZEOF_LONG__ == 4
#define __LL "ll.w " #define __LL "ll.w "
@ -163,8 +162,7 @@ static inline int arch_atomic_sub_if_positive(int i, atomic_t *v)
" beqz %1, 1b \n" " beqz %1, 1b \n"
"2: \n" "2: \n"
__WEAK_LLSC_MB __WEAK_LLSC_MB
: "=&r" (result), "=&r" (temp), : "=&r" (result), "=&r" (temp), "+ZC" (v->counter)
"+" GCC_OFF_SMALL_ASM() (v->counter)
: "I" (-i)); : "I" (-i));
} else { } else {
__asm__ __volatile__( __asm__ __volatile__(
@ -176,8 +174,7 @@ static inline int arch_atomic_sub_if_positive(int i, atomic_t *v)
" beqz %1, 1b \n" " beqz %1, 1b \n"
"2: \n" "2: \n"
__WEAK_LLSC_MB __WEAK_LLSC_MB
: "=&r" (result), "=&r" (temp), : "=&r" (result), "=&r" (temp), "+ZC" (v->counter)
"+" GCC_OFF_SMALL_ASM() (v->counter)
: "r" (i)); : "r" (i));
} }
@ -326,8 +323,7 @@ static inline long arch_atomic64_sub_if_positive(long i, atomic64_t *v)
" beqz %1, 1b \n" " beqz %1, 1b \n"
"2: \n" "2: \n"
__WEAK_LLSC_MB __WEAK_LLSC_MB
: "=&r" (result), "=&r" (temp), : "=&r" (result), "=&r" (temp), "+ZC" (v->counter)
"+" GCC_OFF_SMALL_ASM() (v->counter)
: "I" (-i)); : "I" (-i));
} else { } else {
__asm__ __volatile__( __asm__ __volatile__(
@ -339,8 +335,7 @@ static inline long arch_atomic64_sub_if_positive(long i, atomic64_t *v)
" beqz %1, 1b \n" " beqz %1, 1b \n"
"2: \n" "2: \n"
__WEAK_LLSC_MB __WEAK_LLSC_MB
: "=&r" (result), "=&r" (temp), : "=&r" (result), "=&r" (temp), "+ZC" (v->counter)
"+" GCC_OFF_SMALL_ASM() (v->counter)
: "r" (i)); : "r" (i));
} }

View File

@ -1,15 +0,0 @@
/* SPDX-License-Identifier: GPL-2.0 */
/*
* Copyright (C) 2020-2022 Loongson Technology Corporation Limited
*/
#ifndef _ASM_COMPILER_H
#define _ASM_COMPILER_H
#define GCC_OFF_SMALL_ASM() "ZC"
#define LOONGARCH_ISA_LEVEL "loongarch"
#define LOONGARCH_ISA_ARCH_LEVEL "arch=loongarch"
#define LOONGARCH_ISA_LEVEL_RAW loongarch
#define LOONGARCH_ISA_ARCH_LEVEL_RAW LOONGARCH_ISA_LEVEL_RAW
#endif /* _ASM_COMPILER_H */

View File

@ -8,7 +8,6 @@
#include <linux/futex.h> #include <linux/futex.h>
#include <linux/uaccess.h> #include <linux/uaccess.h>
#include <asm/barrier.h> #include <asm/barrier.h>
#include <asm/compiler.h>
#include <asm/errno.h> #include <asm/errno.h>
#define __futex_atomic_op(insn, ret, oldval, uaddr, oparg) \ #define __futex_atomic_op(insn, ret, oldval, uaddr, oparg) \
@ -95,8 +94,8 @@ futex_atomic_cmpxchg_inatomic(u32 *uval, u32 __user *uaddr, u32 oldval, u32 newv
" "__UA_ADDR "\t1b, 4b \n" " "__UA_ADDR "\t1b, 4b \n"
" "__UA_ADDR "\t2b, 4b \n" " "__UA_ADDR "\t2b, 4b \n"
" .previous \n" " .previous \n"
: "+r" (ret), "=&r" (val), "=" GCC_OFF_SMALL_ASM() (*uaddr) : "+r" (ret), "=&r" (val), "=ZC" (*uaddr)
: GCC_OFF_SMALL_ASM() (*uaddr), "Jr" (oldval), "Jr" (newval), : "ZC" (*uaddr), "Jr" (oldval), "Jr" (newval),
"i" (-EFAULT) "i" (-EFAULT)
: "memory", "t0"); : "memory", "t0");

View File

@ -9,7 +9,6 @@
#include <linux/compiler.h> #include <linux/compiler.h>
#include <linux/stringify.h> #include <linux/stringify.h>
#include <asm/compiler.h>
#include <asm/loongarch.h> #include <asm/loongarch.h>
static inline void arch_local_irq_enable(void) static inline void arch_local_irq_enable(void)

View File

@ -9,7 +9,6 @@
#include <linux/bitops.h> #include <linux/bitops.h>
#include <linux/atomic.h> #include <linux/atomic.h>
#include <asm/cmpxchg.h> #include <asm/cmpxchg.h>
#include <asm/compiler.h>
typedef struct { typedef struct {
atomic_long_t a; atomic_long_t a;

View File

@ -13,7 +13,6 @@
#include <linux/console.h> #include <linux/console.h>
#include <acpi/reboot.h> #include <acpi/reboot.h>
#include <asm/compiler.h>
#include <asm/idle.h> #include <asm/idle.h>
#include <asm/loongarch.h> #include <asm/loongarch.h>
#include <asm/reboot.h> #include <asm/reboot.h>

View File

@ -7,7 +7,6 @@
#include <linux/smp.h> #include <linux/smp.h>
#include <linux/timex.h> #include <linux/timex.h>
#include <asm/compiler.h>
#include <asm/processor.h> #include <asm/processor.h>
void __delay(unsigned long cycles) void __delay(unsigned long cycles)