]> git.ipfire.org Git - people/ms/u-boot.git/blame - arch/arm/include/asm/types.h
Merge git://git.denx.de/u-boot-mmc
[people/ms/u-boot.git] / arch / arm / include / asm / types.h
CommitLineData
3ab675d3
WD
1#ifndef __ASM_ARM_TYPES_H
2#define __ASM_ARM_TYPES_H
3
4typedef unsigned short umode_t;
5
6/*
7 * __xx is ok: it doesn't pollute the POSIX namespace. Use these in the
8 * header files exported to user space
9 */
10
11typedef __signed__ char __s8;
12typedef unsigned char __u8;
13
14typedef __signed__ short __s16;
15typedef unsigned short __u16;
16
17typedef __signed__ int __s32;
18typedef unsigned int __u32;
19
b075d74e
SK
20#if defined(__GNUC__)
21__extension__ typedef __signed__ long long __s64;
22__extension__ typedef unsigned long long __u64;
3ab675d3
WD
23#endif
24
25/*
26 * These aren't exported outside the kernel to avoid name space clashes
27 */
28#ifdef __KERNEL__
29
30typedef signed char s8;
31typedef unsigned char u8;
32
33typedef signed short s16;
34typedef unsigned short u16;
35
36typedef signed int s32;
37typedef unsigned int u32;
38
39typedef signed long long s64;
40typedef unsigned long long u64;
41
0ae76531
DF
42#ifdef CONFIG_ARM64
43#define BITS_PER_LONG 64
44#else /* CONFIG_ARM64 */
3ab675d3 45#define BITS_PER_LONG 32
0ae76531 46#endif /* CONFIG_ARM64 */
3ab675d3 47
f4f0b740 48#ifdef CONFIG_PHYS_64BIT
f4f0b740
AB
49typedef unsigned long long phys_addr_t;
50typedef unsigned long long phys_size_t;
51#else
52/* DMA addresses are 32-bits wide */
e99ccb48
KG
53typedef unsigned long phys_addr_t;
54typedef unsigned long phys_size_t;
f4f0b740 55#endif
e99ccb48 56
37217f0e
LV
57/*
58 * A dma_addr_t can hold any valid DMA address, i.e., any address returned
59 * by the DMA API.
60 *
61 * If the DMA API only uses 32-bit addresses, dma_addr_t need only be 32
62 * bits wide. Bus addresses, e.g., PCI BARs, may be wider than 32 bits,
63 * but drivers do memory-mapped I/O to ioremapped kernel virtual addresses,
64 * so they don't care about the size of the actual bus addresses.
65 */
66#ifdef CONFIG_DMA_ADDR_T_64BIT
67typedef unsigned long long dma_addr_t;
68#else
69typedef u32 dma_addr_t;
70#endif
71
3ab675d3
WD
72#endif /* __KERNEL__ */
73
74#endif