[PATCH] mips: clean up 32/64-bit configuration
[linux-2.6-block.git] / include / asm-mips / types.h
CommitLineData
1da177e4
LT
1/*
2 * This file is subject to the terms and conditions of the GNU General Public
3 * License. See the file "COPYING" in the main directory of this archive
4 * for more details.
5 *
6 * Copyright (C) 1994, 1995, 1996, 1999 by Ralf Baechle
7 * Copyright (C) 1999 Silicon Graphics, Inc.
8 */
9#ifndef _ASM_TYPES_H
10#define _ASM_TYPES_H
11
12#ifndef __ASSEMBLY__
13
14typedef unsigned short umode_t;
15
16/*
17 * __xx is ok: it doesn't pollute the POSIX namespace. Use these in the
18 * header files exported to user space
19 */
20
21typedef __signed__ char __s8;
22typedef unsigned char __u8;
23
24typedef __signed__ short __s16;
25typedef unsigned short __u16;
26
27typedef __signed__ int __s32;
28typedef unsigned int __u32;
29
30#if (_MIPS_SZLONG == 64)
31
32typedef __signed__ long __s64;
33typedef unsigned long __u64;
34
35#else
36
37#if defined(__GNUC__) && !defined(__STRICT_ANSI__)
38typedef __signed__ long long __s64;
39typedef unsigned long long __u64;
40#endif
41
42#endif
43
44#endif /* __ASSEMBLY__ */
45
46/*
47 * These aren't exported outside the kernel to avoid name space clashes
48 */
49#ifdef __KERNEL__
50
51#define BITS_PER_LONG _MIPS_SZLONG
52
53#ifndef __ASSEMBLY__
54
55#include <linux/config.h>
56
57typedef __signed char s8;
58typedef unsigned char u8;
59
60typedef __signed short s16;
61typedef unsigned short u16;
62
63typedef __signed int s32;
64typedef unsigned int u32;
65
66#if (_MIPS_SZLONG == 64)
67
68typedef __signed__ long s64;
69typedef unsigned long u64;
70
71#else
72
73#if defined(__GNUC__) && !defined(__STRICT_ANSI__)
74typedef __signed__ long long s64;
75typedef unsigned long long u64;
76#endif
77
78#endif
79
80#if (defined(CONFIG_HIGHMEM) && defined(CONFIG_64BIT_PHYS_ADDR)) \
875d43e7 81 || defined(CONFIG_64BIT)
1da177e4
LT
82typedef u64 dma_addr_t;
83#else
84typedef u32 dma_addr_t;
85#endif
86typedef u64 dma64_addr_t;
87
88/*
89 * Don't use phys_t. You've been warned.
90 */
91#ifdef CONFIG_64BIT_PHYS_ADDR
92typedef unsigned long long phys_t;
93#else
94typedef unsigned long phys_t;
95#endif
96
97#ifdef CONFIG_LBD
98typedef u64 sector_t;
99#define HAVE_SECTOR_T
100#endif
101
1da177e4
LT
102#endif /* __ASSEMBLY__ */
103
104#endif /* __KERNEL__ */
105
106#endif /* _ASM_TYPES_H */