Linux Audio

Check our new training course

Buildroot integration, development and maintenance

Need a Buildroot system for your embedded project?
Loading...
v5.4
 1/* SPDX-License-Identifier: GPL-2.0 */
 2#ifndef __MIPS_ASM_BITREV_H__
 3#define __MIPS_ASM_BITREV_H__
 4
 5#include <linux/swab.h>
 6
 7static __always_inline __attribute_const__ u32 __arch_bitrev32(u32 x)
 8{
 9	u32 ret;
10
11	asm("bitswap	%0, %1" : "=r"(ret) : "r"(__swab32(x)));
12	return ret;
13}
14
15static __always_inline __attribute_const__ u16 __arch_bitrev16(u16 x)
16{
17	u16 ret;
18
19	asm("bitswap	%0, %1" : "=r"(ret) : "r"(__swab16(x)));
20	return ret;
21}
22
23static __always_inline __attribute_const__ u8 __arch_bitrev8(u8 x)
24{
25	u8 ret;
26
27	asm("bitswap	%0, %1" : "=r"(ret) : "r"(x));
28	return ret;
29}
30
31#endif /* __MIPS_ASM_BITREV_H__ */
v4.10.11
 
 1#ifndef __MIPS_ASM_BITREV_H__
 2#define __MIPS_ASM_BITREV_H__
 3
 4#include <linux/swab.h>
 5
 6static __always_inline __attribute_const__ u32 __arch_bitrev32(u32 x)
 7{
 8	u32 ret;
 9
10	asm("bitswap	%0, %1" : "=r"(ret) : "r"(__swab32(x)));
11	return ret;
12}
13
14static __always_inline __attribute_const__ u16 __arch_bitrev16(u16 x)
15{
16	u16 ret;
17
18	asm("bitswap	%0, %1" : "=r"(ret) : "r"(__swab16(x)));
19	return ret;
20}
21
22static __always_inline __attribute_const__ u8 __arch_bitrev8(u8 x)
23{
24	u8 ret;
25
26	asm("bitswap	%0, %1" : "=r"(ret) : "r"(x));
27	return ret;
28}
29
30#endif /* __MIPS_ASM_BITREV_H__ */