全部博文(75)
分类: 嵌入式
2009-11-09 13:15:48
现在2.6.21上编译LDD3中的examples代码时,有一些模块已不能通过了,因为有一些接口已经变了,
在lwn上有一个专门的页面来收集内核提供的编程接口变化情况:
对于LDD3来说,最大的变化就是workqueue的部分了,这个发生在2.6.20版,这里有一份详细说明:
work_func_t函数类型变了,不再接收一个任意的data指针,而是变为struct work_struct *work
typedef void (*work_func_t)(struct work_struct *work);
这个变化的主要原因是有人发现在2.6.20以前的struct work_struct这个结构体太大了,在64位系统上可能达到96字节;于是作出对workqueue机制的改进。