2.6.13 - 2.6.14
添加
#define DEFINE_TIMER(_name, _function, _expires, _data)
## 2.6.14 - 2.6.15 添加 static inline void setup_timer(struct timer_list * timer,
void (*function)(unsigned long),
unsigned long data)
## 3.6 - 3.7
void init_timer_key(struct timer_list *timer,
const char *name,
struct lock_class_key *key);
// 改为
void init_timer_key(struct timer_list *timer, unsigned int flags,
const char *name, struct lock_class_key *key);
删除setup_timer_key
4.1 - 4.2
修改
struct timer_list {
......
struct tvec_base *base;
void (*function)(unsigned long);
unsigned long data;
int slack;
......
};
//改为
struct timer_list {
......
void (*function)(unsigned long);
unsigned long data;
u32 flags;
int slack;
......
};
## 4.7 - 4.8 1. 删除struct timer_list {}中的
int slack;
2. 添加TIMER_PINNED_INITIALIZER
3.
添加init_timer_pinned
## 4.13 - 4.14 添加 static inline void timer_setup(struct timer_list *timer,
void (*callback)(struct timer_list *),
unsigned int flags)
from_timer(var, callback_timer, timer_fieldname)
## 4.14 - 4.15 修改 struct timer_list {
......
void (*function)(unsigned long);
unsigned long data;
u32 flags;
......
};
//改为
struct timer_list {
......
void (*function)(struct timer_list *);
u32 flags;
......
};
#define DEFINE_TIMER(_name, _function, _expires, _data)
//改为
#define DEFINE_TIMER(_name, _function)
1.
去除setup_timer函数,改为timer_setup(timer, callback, flags) 2.
去除init_timer函数 void init_timer_key(struct timer_list *timer, unsigned int flags,
const char *name, struct lock_class_key *key);
// 改为
void init_timer_key(struct timer_list *timer,
void (*func)(struct timer_list *), unsigned int flags,
const char *name, struct lock_class_key *key);