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