|  | /* | 
|  | * This file is subject to the terms and conditions of the GNU General Public | 
|  | * License.  See the file "COPYING" in the main directory of this archive | 
|  | * for more details. | 
|  | * | 
|  | * Copyright (C) 1994, 1995, 1996, 1999 by Ralf Baechle | 
|  | * Copyright (C) 1999 Silicon Graphics, Inc. | 
|  | */ | 
|  | #ifndef _ASM_TYPES_H | 
|  | #define _ASM_TYPES_H | 
|  |  | 
|  | #ifndef __ASSEMBLY__ | 
|  |  | 
|  | typedef unsigned short umode_t; | 
|  |  | 
|  | /* | 
|  | * __xx is ok: it doesn't pollute the POSIX namespace. Use these in the | 
|  | * header files exported to user space | 
|  | */ | 
|  |  | 
|  | typedef __signed__ char __s8; | 
|  | typedef unsigned char __u8; | 
|  |  | 
|  | typedef __signed__ short __s16; | 
|  | typedef unsigned short __u16; | 
|  |  | 
|  | typedef __signed__ int __s32; | 
|  | typedef unsigned int __u32; | 
|  |  | 
|  | #if (_MIPS_SZLONG == 64) | 
|  |  | 
|  | typedef __signed__ long __s64; | 
|  | typedef unsigned long __u64; | 
|  |  | 
|  | #else | 
|  |  | 
|  | #if defined(__GNUC__) | 
|  | __extension__ typedef __signed__ long long __s64; | 
|  | __extension__ typedef unsigned long long __u64; | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  | #endif /* __ASSEMBLY__ */ | 
|  |  | 
|  | /* | 
|  | * These aren't exported outside the kernel to avoid name space clashes | 
|  | */ | 
|  | #ifdef __KERNEL__ | 
|  |  | 
|  | #define BITS_PER_LONG _MIPS_SZLONG | 
|  |  | 
|  | #ifndef __ASSEMBLY__ | 
|  |  | 
|  | typedef __signed char s8; | 
|  | typedef unsigned char u8; | 
|  |  | 
|  | typedef __signed short s16; | 
|  | typedef unsigned short u16; | 
|  |  | 
|  | typedef __signed int s32; | 
|  | typedef unsigned int u32; | 
|  |  | 
|  | #if (_MIPS_SZLONG == 64) | 
|  |  | 
|  | typedef __signed__ long s64; | 
|  | typedef unsigned long u64; | 
|  |  | 
|  | #else | 
|  |  | 
|  | #if defined(__GNUC__) && !defined(__STRICT_ANSI__) | 
|  | typedef __signed__ long long s64; | 
|  | typedef unsigned long long u64; | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  | #if (defined(CONFIG_HIGHMEM) && defined(CONFIG_64BIT_PHYS_ADDR)) \ | 
|  | || defined(CONFIG_64BIT) | 
|  | typedef u64 dma_addr_t; | 
|  |  | 
|  | typedef u64 phys_addr_t; | 
|  | typedef u64 phys_size_t; | 
|  |  | 
|  | #else | 
|  | typedef u32 dma_addr_t; | 
|  |  | 
|  | typedef u32 phys_addr_t; | 
|  | typedef u32 phys_size_t; | 
|  |  | 
|  | #endif | 
|  | typedef u64 dma64_addr_t; | 
|  |  | 
|  | /* | 
|  | * Don't use phys_t.  You've been warned. | 
|  | */ | 
|  | #ifdef CONFIG_64BIT_PHYS_ADDR | 
|  | typedef unsigned long long phys_t; | 
|  | #else | 
|  | typedef unsigned long phys_t; | 
|  | #endif | 
|  |  | 
|  | #endif /* __ASSEMBLY__ */ | 
|  |  | 
|  | #endif /* __KERNEL__ */ | 
|  |  | 
|  | #endif /* _ASM_TYPES_H */ |