linux新内核编写设备驱动出错的地方

来源:本站
导读:目前正在解读《linux新内核编写设备驱动出错的地方》的相关信息,《linux新内核编写设备驱动出错的地方》是由用户自行发布的知识型内容!下面请观看由(电工技术网 - www.9ddd.net)用户发布《linux新内核编写设备驱动出错的地方》的详细说明。
简介:总结四点linux新内核编写设备驱动出错的地方。

1.注释掉#include <asm/system.h>这个文件。

2.出现错误unknown field 'ioctl' specified in initializer。

出现原因:2.6.36后的file_operations结构发生了重大变化。取消了原有的ioctl成员,添加来新的成员

long (*unlocked_ioctl) (struct file *, unsigned int, unsigned long);

long (*compat_ioctl) (struct file *, unsigned int, unsigned long);

所以将.ioctl 改为.unlocked_ioctl

3.出错error:implicit declaration of function 'kmalloc'

添加#include <linux/slab.h>

4.error inserting 'globalmem.ko': -1 Device or resource busy

用cat /proc/devices 命令查看发现主设备号已被占用,所以更改驱动程序

#define GLOBALMEM_MAJOR 为新的数就可以了

提醒:《linux新内核编写设备驱动出错的地方》最后刷新时间 2024-03-14 01:04:01,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《linux新内核编写设备驱动出错的地方》该内容的真实性请自行鉴别。