Linux Kernel
3.7.1
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
scripts
dtc
libfdt
libfdt_env.h
Go to the documentation of this file.
1
#ifndef _LIBFDT_ENV_H
2
#define _LIBFDT_ENV_H
3
4
#include <stddef.h>
5
#include <stdint.h>
6
#include <string.h>
7
8
#define EXTRACT_BYTE(n) ((unsigned long long)((uint8_t *)&x)[n])
9
static
inline
uint16_t
fdt16_to_cpu
(
uint16_t
x
)
10
{
11
return
(
EXTRACT_BYTE
(0) << 8) |
EXTRACT_BYTE
(1);
12
}
13
#define cpu_to_fdt16(x) fdt16_to_cpu(x)
14
15
static
inline
uint32_t
fdt32_to_cpu
(
uint32_t
x
)
16
{
17
return
(
EXTRACT_BYTE
(0) << 24) | (
EXTRACT_BYTE
(1) << 16) | (
EXTRACT_BYTE
(2) << 8) |
EXTRACT_BYTE
(3);
18
}
19
#define cpu_to_fdt32(x) fdt32_to_cpu(x)
20
21
static
inline
uint64_t
fdt64_to_cpu
(
uint64_t
x
)
22
{
23
return
(
EXTRACT_BYTE
(0) << 56) | (
EXTRACT_BYTE
(1) << 48) | (
EXTRACT_BYTE
(2) << 40) | (
EXTRACT_BYTE
(3) << 32)
24
| (
EXTRACT_BYTE
(4) << 24) | (
EXTRACT_BYTE
(5) << 16) | (
EXTRACT_BYTE
(6) << 8) |
EXTRACT_BYTE
(7);
25
}
26
#define cpu_to_fdt64(x) fdt64_to_cpu(x)
27
#undef EXTRACT_BYTE
28
29
#endif
/* _LIBFDT_ENV_H */
Generated on Thu Jan 10 2013 12:54:51 for Linux Kernel by
1.8.2