编译ldd3的scullc模块出现的问题
来源:互联网 发布:厦门大学 知乎 编辑:程序博客网 时间:2024/05/16 10:08
ldd3的例子程序scullc是用kmem_cache_create等来说明lookaside caches的使用情况。由于在新的内核中,一些定义已经改变了。故该例子程序需要做一些改动。
(1)kmem_cache_t结构被换成了kmem_cache。而kmem_cache定义在<linux/slab_def.h>和<linux/slub_def.h>。但是你并不需要包含这两个文件中的一个。因为<linux/slab.h>会根据CONFIG_SLUB等来判断具体包含<linux/slab_def.h>,还是<linux/slub_def.h>。故例程中需要将
kmem_cache_t *scullc_cache;
改为:
struct kmem_cache *scullc_cache;
(2)函数kmem_cache_create的原型已经改变:
struct kmem_cache *kmem_cache_create(const char *, size_t, size_t, unsigned long, void (*)(void *));故调用它的时候应该将参数做出相应的改变。
(3)如上一篇文章提到的INIT_WORK, schedule_delayed_work等改变。如代码做出如下相应变动:
struct async_work { struct kiocb *iocb; int result; struct work_struct work;};
改为:
struct async_work { struct kiocb *iocb; int result; struct delayed_work delayed_work;}
在函数scull_defer_op中将:
INIT_WORK(&stuff->work, scull_do_deferred_op, stuff);schedule_delayed_work(&stuff->work, HZ/100);改为:
INIT_DELAYED_WORK(&(stuff->delayed_work), scullc_do_deferred_op);schedule_delayed_work(&(stuff->delayed_work),HZ/100);编译即可。当然编译中需要根据提示将CFLAGS换成EXTRA_CFLAGS.
- 编译ldd3的scullc模块出现的问题
- 编译ldd3的scullc模块出现的问题
- ldd3源码jiq.c编译出现的问题
- ldd3源码jiq.c编译出现的问题
- 编译LDD第三版中scullc代码时遇到的问题及解决方法
- 编译LDD第三版中scullc代码时遇到的问题及解决方法
- 编译LDD第三版中scullc代码时遇到的问题及解决方法
- ldd3 源码编译之 scullc 字符设备驱动 错误解决办法
- ldd3 源码编译之 scullc 字符设备驱动
- 编译LDD3的scull驱动问题总结
- android源码模块编译出现的问题
- LDD3学习笔记——模块的编译
- LDD3 带有参数的模块
- fedora14 编译ldd3的源码
- ldd3 misc-progs/setlevel.c编译问题的解决
- ldd3 sbull编译遇到的问题 解决(部分)方法
- Linux设备驱动程序(LDD3)中snull的编译问题
- ldd3 sbull编译遇到的问题 解决(部分)方法
- 标准模板库(STL)学习探究之Set容器
- Alsa 驱动分析
- JavaScript Cookie
- 自定义标签&实现大小写转换
- 背下来就是电脑高手(转)
- 编译ldd3的scullc模块出现的问题
- Oracle Golden Gate 系列六 -- 11gR2 Ora2Ora 单向复制 GG 示例
- 利用javascript获取Asp.net网页控件并检验网页输入的简单办法
- MFC串行化“非预期的文件格式”解决
- 在windows下使用Python创建cgi程序
- Oracle中的批处理,using
- 基于C8051F410的DHT11温湿度传感器驱动编写
- javascript string对象
- MyEclipse 不能自动编译 class文件,class目录为空