]> git.proxmox.com Git - mirror_ubuntu-focal-kernel.git/blame - arch/mn10300/include/uapi/asm/swab.h
Merge tag 'metag_remove_2' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git...
[mirror_ubuntu-focal-kernel.git] / arch / mn10300 / include / uapi / asm / swab.h
CommitLineData
e2be04c7 1/* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */
5cbd04ae
HH
2/* MN10300 Byte-order primitive construction
3 *
4 * Copyright (C) 2007 Red Hat, Inc. All Rights Reserved.
5 * Written by David Howells (dhowells@redhat.com)
6 *
7 * This program is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU General Public Licence
9 * as published by the Free Software Foundation; either version
10 * 2 of the Licence, or (at your option) any later version.
11 */
12#ifndef _ASM_SWAB_H
13#define _ASM_SWAB_H
14
bef53ca0 15#include <linux/types.h>
5cbd04ae
HH
16
17#ifdef __GNUC__
18
19static inline __attribute__((const))
20__u32 __arch_swab32(__u32 x)
21{
22 __u32 ret;
23 asm("swap %1,%0" : "=r" (ret) : "r" (x));
24 return ret;
25}
26#define __arch_swab32 __arch_swab32
27
28static inline __attribute__((const))
29__u16 __arch_swab16(__u16 x)
30{
31 __u16 ret;
32 asm("swaph %1,%0" : "=r" (ret) : "r" (x));
33 return ret;
34}
35#define __arch_swab32 __arch_swab32
36
37#if !defined(__STRICT_ANSI__) || defined(__KERNEL__)
38# define __SWAB_64_THRU_32__
39#endif
40
41#endif /* __GNUC__ */
42
43#endif /* _ASM_SWAB_H */