/drivers/include/linux/kernel.h |
---|
283,7 → 283,10 |
(_timer)->handle = 0; \ |
} while (0) |
int del_timer(struct timer_list *timer); |
# define del_timer_sync(t) del_timer(t) |
struct timespec { |
long tv_sec; /* seconds */ |
long tv_nsec; /* nanoseconds */ |
290,6 → 293,11 |
}; |
#define mb() asm volatile("mfence" : : : "memory") |
#define rmb() asm volatile("lfence" : : : "memory") |
#define wmb() asm volatile("sfence" : : : "memory") |
#define build_mmio_read(name, size, type, reg, barrier) \ |
static inline type name(const volatile void __iomem *addr) \ |
{ type ret; asm volatile("mov" size " %1,%0":reg (ret) \ |
/drivers/include/linux/types.h |
---|
321,10 → 321,6 |
struct drm_file; |
#define DRM_MEMORYBARRIER() __asm__ __volatile__("lock; addl $0,0(%esp)") |
#define mb() __asm__ __volatile__("lock; addl $0,0(%esp)") |
#define PAGE_SHIFT 12 |
#define PAGE_SIZE (1UL << PAGE_SHIFT) |
#define PAGE_MASK (~(PAGE_SIZE-1)) |
/drivers/include/linux/wait.h |
---|
1,11 → 1,13 |
#ifndef _LINUX_WAIT_H |
#define _LINUX_WAIT_H |
#include <linux/list.h> |
#include <syscall.h> |
typedef struct __wait_queue wait_queue_t; |
typedef int (*wait_queue_func_t)(wait_queue_t *wait, unsigned mode, int flags, void *key); |
int default_wake_function(wait_queue_t *wait, unsigned mode, int flags, void *key); |
typedef struct __wait_queue_head wait_queue_head_t; |
21,6 → 23,10 |
spinlock_t lock; |
struct list_head task_list; |
}; |
static inline int waitqueue_active(wait_queue_head_t *q) |
{ |
return !list_empty(&q->task_list); |
} |
static inline void __add_wait_queue(wait_queue_head_t *head, wait_queue_t *new) |
{ |