135,26 → 135,25 |
#endif |
|
/* |
* The type of an index into the pagecache. Use a #define so asm/types.h |
* can override it. |
* The type of an index into the pagecache. |
*/ |
#ifndef pgoff_t |
#define pgoff_t unsigned long |
#endif |
|
/* A dma_addr_t can hold any valid DMA or bus address for the platform */ |
/* |
* A dma_addr_t can hold any valid DMA address, i.e., any address returned |
* by the DMA API. |
* |
* If the DMA API only uses 32-bit addresses, dma_addr_t need only be 32 |
* bits wide. Bus addresses, e.g., PCI BARs, may be wider than 32 bits, |
* but drivers do memory-mapped I/O to ioremapped kernel virtual addresses, |
* so they don't care about the size of the actual bus addresses. |
*/ |
#ifdef CONFIG_ARCH_DMA_ADDR_T_64BIT |
typedef u64 dma_addr_t; |
#else |
typedef u32 dma_addr_t; |
#endif /* dma_addr_t */ |
#endif |
|
#ifdef __CHECKER__ |
#else |
#endif |
#ifdef __CHECK_ENDIAN__ |
#else |
#endif |
typedef unsigned __bitwise__ gfp_t; |
typedef unsigned __bitwise__ fmode_t; |
typedef unsigned __bitwise__ oom_flags_t; |
206,12 → 205,32 |
* struct callback_head - callback structure for use with RCU and task_work |
* @next: next update requests in a list |
* @func: actual update function to call after the grace period. |
* |
* The struct is aligned to size of pointer. On most architectures it happens |
* naturally due ABI requirements, but some architectures (like CRIS) have |
* weird ABI and we need to ask it explicitly. |
* |
* The alignment is required to guarantee that bits 0 and 1 of @next will be |
* clear under normal conditions -- as long as we use call_rcu(), |
* call_rcu_bh(), call_rcu_sched(), or call_srcu() to queue callback. |
* |
* This guarantee is important for few reasons: |
* - future call_rcu_lazy() will make use of lower bits in the pointer; |
* - the structure shares storage spacer in struct page with @compound_head, |
* which encode PageTail() in bit 0. The guarantee is needed to avoid |
* false-positive PageTail(). |
*/ |
struct callback_head { |
struct callback_head *next; |
void (*func)(struct callback_head *head); |
}; |
} __attribute__((aligned(sizeof(void *)))); |
#define rcu_head callback_head |
|
typedef void (*rcu_callback_t)(struct rcu_head *head); |
typedef void (*call_rcu_func_t)(struct rcu_head *head, rcu_callback_t func); |
|
/* clocksource cycle base type */ |
typedef u64 cycle_t; |
|
#endif /* __ASSEMBLY__ */ |
#endif /* _LINUX_TYPES_H */ |