mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-01-15 01:24:33 +00:00
c0cd2941bc
The goal is to clean-up Linux repository from AUX file names, because the use of such file names is prohibited on other operating systems such as Windows, so the Linux repository cannot be cloned and edited on them. Reviewed-by: Shahab Vahedi <list+bpf@vahedi.org> Signed-off-by: Benjamin Szőke <egyszeregy@freemail.hu> Signed-off-by: Vineet Gupta <vgupta@kernel.org>
60 lines
1.2 KiB
C
60 lines
1.2 KiB
C
/* SPDX-License-Identifier: GPL-2.0-only */
|
|
/*
|
|
* Copyright (C) 2016-2017 Synopsys, Inc. (www.synopsys.com)
|
|
*/
|
|
|
|
#ifndef __SOC_ARC_AUX_H__
|
|
#define __SOC_ARC_AUX_H__
|
|
|
|
#ifdef CONFIG_ARC
|
|
|
|
#define read_aux_reg(r) __builtin_arc_lr(r)
|
|
|
|
/* gcc builtin sr needs reg param to be long immediate */
|
|
#define write_aux_reg(r, v) __builtin_arc_sr((unsigned int)(v), r)
|
|
|
|
#else /* !CONFIG_ARC */
|
|
|
|
static inline int read_aux_reg(u32 r)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
/*
|
|
* function helps elide unused variable warning
|
|
* see: https://lists.infradead.org/pipermail/linux-snps-arc/2016-November/001748.html
|
|
*/
|
|
static inline void write_aux_reg(u32 r, u32 v)
|
|
{
|
|
;
|
|
}
|
|
|
|
#endif
|
|
|
|
#define READ_BCR(reg, into) \
|
|
{ \
|
|
unsigned int tmp; \
|
|
tmp = read_aux_reg(reg); \
|
|
if (sizeof(tmp) == sizeof(into)) { \
|
|
into = *((typeof(into) *)&tmp); \
|
|
} else { \
|
|
extern void bogus_undefined(void); \
|
|
bogus_undefined(); \
|
|
} \
|
|
}
|
|
|
|
#define WRITE_AUX(reg, into) \
|
|
{ \
|
|
unsigned int tmp; \
|
|
if (sizeof(tmp) == sizeof(into)) { \
|
|
tmp = (*(unsigned int *)&(into)); \
|
|
write_aux_reg(reg, tmp); \
|
|
} else { \
|
|
extern void bogus_undefined(void); \
|
|
bogus_undefined(); \
|
|
} \
|
|
}
|
|
|
|
|
|
#endif
|