p****s 发帖数: 32405 | 1 如题,一直用老的2.6.11 kernel compile driver,
这两天刚升级到2.6.24, 发现原来的code不能编译了,
其中一个就是这个INIT_WORK的macro改了,原来老的kernel上
prototype里要传三个参数,
INIT_WORK(struct work_struct *work, void (*function)(void *), void *data);
现在看, 只剩俩了,
INIT_WORK(struct work_struct *work, void (*function)(void *));
难道原来的data被wrap到work里去了? 简单的把第三个argument去掉然后
放到workqueue里虽然能编译, 但是数据是会丢的. | m*****e 发帖数: 4193 | 2 RTFS
【在 p****s 的大作中提到】 : 如题,一直用老的2.6.11 kernel compile driver, : 这两天刚升级到2.6.24, 发现原来的code不能编译了, : 其中一个就是这个INIT_WORK的macro改了,原来老的kernel上 : prototype里要传三个参数, : INIT_WORK(struct work_struct *work, void (*function)(void *), void *data); : 现在看, 只剩俩了, : INIT_WORK(struct work_struct *work, void (*function)(void *)); : 难道原来的data被wrap到work里去了? 简单的把第三个argument去掉然后 : 放到workqueue里虽然能编译, 但是数据是会丢的.
| p****s 发帖数: 32405 | 3 能不能再详细点? 谢谢.
【在 m*****e 的大作中提到】 : RTFS
|
|