diff options
Diffstat (limited to 'arch/sparc/include')
| -rw-r--r-- | arch/sparc/include/asm/Kbuild | 1 | ||||
| -rw-r--r-- | arch/sparc/include/asm/atomic_32.h | 24 | ||||
| -rw-r--r-- | arch/sparc/include/asm/atomic_64.h | 65 | ||||
| -rw-r--r-- | arch/sparc/include/asm/kprobes.h | 1 | ||||
| -rw-r--r-- | arch/sparc/include/asm/msi.h | 32 | 
5 files changed, 5 insertions, 118 deletions
diff --git a/arch/sparc/include/asm/Kbuild b/arch/sparc/include/asm/Kbuild index ac67828da201..410b263ef5c8 100644 --- a/arch/sparc/include/asm/Kbuild +++ b/arch/sparc/include/asm/Kbuild @@ -13,6 +13,7 @@ generic-y += local64.h  generic-y += mcs_spinlock.h  generic-y += mm-arch-hooks.h  generic-y += module.h +generic-y += msi.h  generic-y += preempt.h  generic-y += rwsem.h  generic-y += serial.h diff --git a/arch/sparc/include/asm/atomic_32.h b/arch/sparc/include/asm/atomic_32.h index d13ce517f4b9..94c930f0bc62 100644 --- a/arch/sparc/include/asm/atomic_32.h +++ b/arch/sparc/include/asm/atomic_32.h @@ -27,17 +27,17 @@ int atomic_fetch_or(int, atomic_t *);  int atomic_fetch_xor(int, atomic_t *);  int atomic_cmpxchg(atomic_t *, int, int);  int atomic_xchg(atomic_t *, int); -int __atomic_add_unless(atomic_t *, int, int); +int atomic_fetch_add_unless(atomic_t *, int, int);  void atomic_set(atomic_t *, int); +#define atomic_fetch_add_unless	atomic_fetch_add_unless +  #define atomic_set_release(v, i)	atomic_set((v), (i))  #define atomic_read(v)          READ_ONCE((v)->counter)  #define atomic_add(i, v)	((void)atomic_add_return( (int)(i), (v)))  #define atomic_sub(i, v)	((void)atomic_add_return(-(int)(i), (v))) -#define atomic_inc(v)		((void)atomic_add_return(        1, (v))) -#define atomic_dec(v)		((void)atomic_add_return(       -1, (v)))  #define atomic_and(i, v)	((void)atomic_fetch_and((i), (v)))  #define atomic_or(i, v)		((void)atomic_fetch_or((i), (v))) @@ -46,22 +46,4 @@ void atomic_set(atomic_t *, int);  #define atomic_sub_return(i, v)	(atomic_add_return(-(int)(i), (v)))  #define atomic_fetch_sub(i, v)  (atomic_fetch_add (-(int)(i), (v))) -#define atomic_inc_return(v)	(atomic_add_return(        1, (v))) -#define atomic_dec_return(v)	(atomic_add_return(       -1, (v))) - -#define atomic_add_negative(a, v)	(atomic_add_return((a), (v)) < 0) - -/* - * atomic_inc_and_test - increment and test - * @v: pointer of type atomic_t - * - * Atomically increments @v by 1 - * and returns true if the result is zero, or false for all - * other cases. - */ -#define atomic_inc_and_test(v) (atomic_inc_return(v) == 0) - -#define atomic_dec_and_test(v) (atomic_dec_return(v) == 0) -#define atomic_sub_and_test(i, v) (atomic_sub_return(i, v) == 0) -  #endif /* !(__ARCH_SPARC_ATOMIC__) */ diff --git a/arch/sparc/include/asm/atomic_64.h b/arch/sparc/include/asm/atomic_64.h index 28db058d471b..6963482c81d8 100644 --- a/arch/sparc/include/asm/atomic_64.h +++ b/arch/sparc/include/asm/atomic_64.h @@ -50,38 +50,6 @@ ATOMIC_OPS(xor)  #undef ATOMIC_OP_RETURN  #undef ATOMIC_OP -#define atomic_dec_return(v)   atomic_sub_return(1, v) -#define atomic64_dec_return(v) atomic64_sub_return(1, v) - -#define atomic_inc_return(v)   atomic_add_return(1, v) -#define atomic64_inc_return(v) atomic64_add_return(1, v) - -/* - * atomic_inc_and_test - increment and test - * @v: pointer of type atomic_t - * - * Atomically increments @v by 1 - * and returns true if the result is zero, or false for all - * other cases. - */ -#define atomic_inc_and_test(v) (atomic_inc_return(v) == 0) -#define atomic64_inc_and_test(v) (atomic64_inc_return(v) == 0) - -#define atomic_sub_and_test(i, v) (atomic_sub_return(i, v) == 0) -#define atomic64_sub_and_test(i, v) (atomic64_sub_return(i, v) == 0) - -#define atomic_dec_and_test(v) (atomic_sub_return(1, v) == 0) -#define atomic64_dec_and_test(v) (atomic64_sub_return(1, v) == 0) - -#define atomic_inc(v) atomic_add(1, v) -#define atomic64_inc(v) atomic64_add(1, v) - -#define atomic_dec(v) atomic_sub(1, v) -#define atomic64_dec(v) atomic64_sub(1, v) - -#define atomic_add_negative(i, v) (atomic_add_return(i, v) < 0) -#define atomic64_add_negative(i, v) (atomic64_add_return(i, v) < 0) -  #define atomic_cmpxchg(v, o, n) (cmpxchg(&((v)->counter), (o), (n)))  static inline int atomic_xchg(atomic_t *v, int new) @@ -89,42 +57,11 @@ static inline int atomic_xchg(atomic_t *v, int new)  	return xchg(&v->counter, new);  } -static inline int __atomic_add_unless(atomic_t *v, int a, int u) -{ -	int c, old; -	c = atomic_read(v); -	for (;;) { -		if (unlikely(c == (u))) -			break; -		old = atomic_cmpxchg((v), c, c + (a)); -		if (likely(old == c)) -			break; -		c = old; -	} -	return c; -} -  #define atomic64_cmpxchg(v, o, n) \  	((__typeof__((v)->counter))cmpxchg(&((v)->counter), (o), (n)))  #define atomic64_xchg(v, new) (xchg(&((v)->counter), new)) -static inline long atomic64_add_unless(atomic64_t *v, long a, long u) -{ -	long c, old; -	c = atomic64_read(v); -	for (;;) { -		if (unlikely(c == (u))) -			break; -		old = atomic64_cmpxchg((v), c, c + (a)); -		if (likely(old == c)) -			break; -		c = old; -	} -	return c != (u); -} - -#define atomic64_inc_not_zero(v) atomic64_add_unless((v), 1, 0) -  long atomic64_dec_if_positive(atomic64_t *v); +#define atomic64_dec_if_positive atomic64_dec_if_positive  #endif /* !(__ARCH_SPARC64_ATOMIC__) */ diff --git a/arch/sparc/include/asm/kprobes.h b/arch/sparc/include/asm/kprobes.h index 3704490b4488..bfcaa6326c20 100644 --- a/arch/sparc/include/asm/kprobes.h +++ b/arch/sparc/include/asm/kprobes.h @@ -44,7 +44,6 @@ struct kprobe_ctlblk {  	unsigned long kprobe_status;  	unsigned long kprobe_orig_tnpc;  	unsigned long kprobe_orig_tstate_pil; -	struct pt_regs jprobe_saved_regs;  	struct prev_kprobe prev_kprobe;  }; diff --git a/arch/sparc/include/asm/msi.h b/arch/sparc/include/asm/msi.h deleted file mode 100644 index 3c17c1074431..000000000000 --- a/arch/sparc/include/asm/msi.h +++ /dev/null @@ -1,32 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0 */ -/* - * msi.h:  Defines specific to the MBus - Sbus - Interface. - * - * Copyright (C) 1996 David S. Miller (davem@caip.rutgers.edu) - * Copyright (C) 1996 Eddie C. Dost   (ecd@skynet.be) - */ - -#ifndef _SPARC_MSI_H -#define _SPARC_MSI_H - -/* - * Locations of MSI Registers. - */ -#define MSI_MBUS_ARBEN	0xe0001008	/* MBus Arbiter Enable register */ - -/* - * Useful bits in the MSI Registers. - */ -#define MSI_ASYNC_MODE  0x80000000	/* Operate the MSI asynchronously */ - - -static inline void msi_set_sync(void) -{ -	__asm__ __volatile__ ("lda [%0] %1, %%g3\n\t" -			      "andn %%g3, %2, %%g3\n\t" -			      "sta %%g3, [%0] %1\n\t" : : -			      "r" (MSI_MBUS_ARBEN), -			      "i" (ASI_M_CTL), "r" (MSI_ASYNC_MODE) : "g3"); -} - -#endif /* !(_SPARC_MSI_H) */  | 
