1633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham/*
2633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham * This file is subject to the terms and conditions of the GNU General Public
3633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham * License.  See the file "COPYING" in the main directory of this archive
4633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham * for more details.
5633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham *
6633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham * Copyright (C) 1994, 1995, 1996, 1999 by Ralf Baechle
7633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham * Copyright (C) 1999 Silicon Graphics, Inc.
8633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham */
9633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#ifndef _ASM_TYPES_H
10633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define _ASM_TYPES_H
11633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham
1222e2427e42fffbd75325c615729f46644c08f028Raghu Gandham#ifndef __ASSEMBLY__
1322e2427e42fffbd75325c615729f46644c08f028Raghu Gandham
1422e2427e42fffbd75325c615729f46644c08f028Raghu Gandhamtypedef unsigned short umode_t;
1522e2427e42fffbd75325c615729f46644c08f028Raghu Gandham
1622e2427e42fffbd75325c615729f46644c08f028Raghu Gandhamtypedef __signed__ char __s8;
1722e2427e42fffbd75325c615729f46644c08f028Raghu Gandhamtypedef unsigned char __u8;
1822e2427e42fffbd75325c615729f46644c08f028Raghu Gandham
1922e2427e42fffbd75325c615729f46644c08f028Raghu Gandhamtypedef __signed__ short __s16;
2022e2427e42fffbd75325c615729f46644c08f028Raghu Gandhamtypedef unsigned short __u16;
2122e2427e42fffbd75325c615729f46644c08f028Raghu Gandham
2222e2427e42fffbd75325c615729f46644c08f028Raghu Gandhamtypedef __signed__ int __s32;
2322e2427e42fffbd75325c615729f46644c08f028Raghu Gandhamtypedef unsigned int __u32;
2422e2427e42fffbd75325c615729f46644c08f028Raghu Gandham
25633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#if _MIPS_SZLONG == 64
2622e2427e42fffbd75325c615729f46644c08f028Raghu Gandham
2722e2427e42fffbd75325c615729f46644c08f028Raghu Gandhamtypedef __signed__ long __s64;
2822e2427e42fffbd75325c615729f46644c08f028Raghu Gandhamtypedef unsigned long __u64;
2922e2427e42fffbd75325c615729f46644c08f028Raghu Gandham
30633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#else
31633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham
3222e2427e42fffbd75325c615729f46644c08f028Raghu Gandham#ifdef __GNUC__
3322e2427e42fffbd75325c615729f46644c08f028Raghu Gandhamtypedef __signed__ long long __s64;
3422e2427e42fffbd75325c615729f46644c08f028Raghu Gandhamtypedef unsigned long long __u64;
3522e2427e42fffbd75325c615729f46644c08f028Raghu Gandham#endif
36633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham
3722e2427e42fffbd75325c615729f46644c08f028Raghu Gandham#endif
38633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham
39633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#endif /* __ASSEMBLY__ */
40633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham
41633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham/*
42633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham * These aren't exported outside the kernel to avoid name space clashes
43633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham */
44633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#ifdef __KERNEL__
45633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham
46633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define BITS_PER_LONG _MIPS_SZLONG
47633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham
48633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#ifndef __ASSEMBLY__
49633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham
50633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#if (defined(CONFIG_HIGHMEM) && defined(CONFIG_64BIT_PHYS_ADDR)) \
51633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham    || defined(CONFIG_64BIT)
52633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandhamtypedef u64 dma_addr_t;
53633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#else
54633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandhamtypedef u32 dma_addr_t;
55633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#endif
56633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandhamtypedef u64 dma64_addr_t;
57633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham
58633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham/*
59633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham * Don't use phys_t.  You've been warned.
60633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham */
61633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#ifdef CONFIG_64BIT_PHYS_ADDR
62633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandhamtypedef unsigned long long phys_t;
63633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#else
64633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandhamtypedef unsigned long phys_t;
65633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#endif
66633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham
67633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#endif /* __ASSEMBLY__ */
68633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham
6922e2427e42fffbd75325c615729f46644c08f028Raghu Gandham
70633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#endif /* __KERNEL__ */
71633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham
7222e2427e42fffbd75325c615729f46644c08f028Raghu Gandham
7322e2427e42fffbd75325c615729f46644c08f028Raghu Gandham
74633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#endif /* _ASM_TYPES_H */
75