Merge tag 'v3.14.25' into backport/v3.14.24-ltsi-rc1+v3.14.25/snapshot-merge.wip
[platform/adaptation/renesas_rcar/renesas_kernel.git] / drivers / staging / lttng / lttng-endian.h
1 #ifndef _LTTNG_ENDIAN_H
2 #define _LTTNG_ENDIAN_H
3
4 /*
5  * lttng-endian.h
6  *
7  * Copyright (C) 2010-2012 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
8  *
9  * This library is free software; you can redistribute it and/or
10  * modify it under the terms of the GNU Lesser General Public
11  * License as published by the Free Software Foundation; only
12  * version 2.1 of the License.
13  *
14  * This library is distributed in the hope that it will be useful,
15  * but WITHOUT ANY WARRANTY; without even the implied warranty of
16  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17  * Lesser General Public License for more details.
18  *
19  * You should have received a copy of the GNU Lesser General Public
20  * License along with this library; if not, write to the Free Software
21  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
22  */
23
24 #ifdef __KERNEL__
25 # include <asm/byteorder.h>
26 # ifdef __BIG_ENDIAN
27 #  define __BYTE_ORDER __BIG_ENDIAN
28 # elif defined(__LITTLE_ENDIAN)
29 #  define __BYTE_ORDER __LITTLE_ENDIAN
30 # else
31 #  error "unknown endianness"
32 # endif
33 #ifndef __BIG_ENDIAN
34 # define __BIG_ENDIAN 4321
35 #endif
36 #ifndef __LITTLE_ENDIAN
37 # define __LITTLE_ENDIAN 1234
38 #endif
39 #else
40 # include <endian.h>
41 #endif
42
43 #endif /* _LTTNG_ENDIAN_H */