[ubicom32]: move new files out from platform support patch
[openwrt/svn-archive/archive.git] / target / linux / ubicom32 / files / arch / ubicom32 / include / asm / types.h
1 /*
2 * arch/ubicom32/include/asm/types.h
3 * Date type definitions for Ubicom32 architecture.
4 *
5 * (C) Copyright 2009, Ubicom, Inc.
6 *
7 * This file is part of the Ubicom32 Linux Kernel Port.
8 *
9 * The Ubicom32 Linux Kernel Port is free software: you can redistribute
10 * it and/or modify it under the terms of the GNU General Public License
11 * as published by the Free Software Foundation, either version 2 of the
12 * License, or (at your option) any later version.
13 *
14 * The Ubicom32 Linux Kernel Port is distributed in the hope that it
15 * will be useful, but WITHOUT ANY WARRANTY; without even the implied
16 * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
17 * the GNU General Public License for more details.
18 *
19 * You should have received a copy of the GNU General Public License
20 * along with the Ubicom32 Linux Kernel Port. If not,
21 * see <http://www.gnu.org/licenses/>.
22 *
23 * Ubicom32 implementation derived from (with many thanks):
24 * arch/m68knommu
25 * arch/blackfin
26 * arch/parisc
27 */
28 #ifndef _ASM_UBICOM32_TYPES_H
29 #define _ASM_UBICOM32_TYPES_H
30
31 /*
32 * This file is never included by application software unless
33 * explicitly requested (e.g., via linux/types.h) in which case the
34 * application is Linux specific so (user-) name space pollution is
35 * not a major issue. However, for interoperability, libraries still
36 * need to be careful to avoid a name clashes.
37 */
38
39 #include <asm-generic/int-ll64.h>
40
41 #ifndef __ASSEMBLY__
42
43 typedef unsigned short umode_t;
44
45 #endif /* __ASSEMBLY__ */
46
47 /*
48 * These aren't exported outside the kernel to avoid name space clashes
49 */
50 #ifdef __KERNEL__
51
52 #define BITS_PER_LONG 32
53
54 #ifndef __ASSEMBLY__
55
56 /* DMA addresses are always 32-bits wide */
57
58 typedef u32 dma_addr_t;
59 typedef u32 dma64_addr_t;
60
61 /*
62 * XXX These are "Ubicom style" typedefs. They should be removed in all files used by linux.
63 */
64 typedef u32 u32_t;
65 typedef s32 s32_t;
66 typedef u16 u16_t;
67 typedef s16 s16_t;
68 typedef u8 u8_t;
69 typedef s8 s8_t;
70
71 #endif /* __ASSEMBLY__ */
72
73 #endif /* __KERNEL__ */
74
75 #endif /* _ASM_UBICOM32_TYPES_H */