1#ifndef _ASM_GENERIC_TYPES_H 2#define _ASM_GENERIC_TYPES_H 3/* 4 * int-ll64 is used practically everywhere now, 5 * so use it as a reasonable default. 6 */ 7#include <asm-generic/int-ll64.h> 8 9#ifndef __ASSEMBLY__ 10 11typedef unsigned short umode_t; 12 13#endif /* __ASSEMBLY__ */ 14 15/* 16 * These aren't exported outside the kernel to avoid name space clashes 17 */ 18#ifdef __KERNEL__ 19#ifndef __ASSEMBLY__ 20/* 21 * DMA addresses may be very different from physical addresses 22 * and pointers. i386 and powerpc may have 64 bit DMA on 32 bit 23 * systems, while sparc64 uses 32 bit DMA addresses for 64 bit 24 * physical addresses. 25 * This default defines dma_addr_t to have the same size as 26 * phys_addr_t, which is the most common way. 27 * Do not define the dma64_addr_t type, which never really 28 * worked. 29 */ 30#ifndef dma_addr_t 31#ifdef CONFIG_PHYS_ADDR_T_64BIT 32typedef u64 dma_addr_t; 33#else 34typedef u32 dma_addr_t; 35#endif /* CONFIG_PHYS_ADDR_T_64BIT */ 36#endif /* dma_addr_t */ 37 38#endif /* __ASSEMBLY__ */ 39 40#endif /* __KERNEL__ */ 41 42#endif /* _ASM_GENERIC_TYPES_H */ 43