Linux3.10内核proc文件系统API变化

本文详细解析了在Linux3.10版本中,MTK5507平台上创建文件及提供操作的改进方法。包括使用proc_create函数替代create_proc_entry实现,以及在64位CPU环境下使用copy_from_user注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文基于mtk5507平台,内核版本Linux3.10。

一、先看下之前版本在/proc/下创建文件并提供ops

	proc_dir = proc_mkdir(MOTION_PROC_DIR, NULL);
	if (!proc_dir) {
		err = -ENOMEM;
		goto no_proc_dir;
	}
	proc_file = create_proc_entry(MOTION_PROC_FILE, 0666, proc_dir);
	if (!proc_file) {
		err = -ENOMEM;
		goto no_proc_file;
	}
	proc_file->proc_fops = &event_fops;
二、看看Linux3.10版本相同操作
        proc_dir = proc_mkdir(MOTION_PROC_DIR, NULL);
        if (!proc_dir) {
                err = -ENOMEM;
                goto no_proc_dir;
        }
        //modify by tan for linux3.10
        //proc_file = create_proc_entry(MOTION_PROC_FILE, 0666, proc_dir);
        proc_file = proc_create(MOTION_PROC_FILE, 0666, proc_dir,&event_fops);
        //end tank
        if (!proc_file) {
                err = -ENOMEM;
                goto no_proc_file;
        }
        //proc_file->proc_fops = &event_fops;  //modify by tank for linux3.10

三、注意问题

当在64bit的CPU环境下使用copy_from_user时用户空间程序必须通过64bit编译;不然拷贝会有问题。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值