0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Linux驱动proc新接口介绍

麦辣鸡腿堡 来源:嵌入式Linux充电站 作者:Vincent 2023-09-27 11:29 次阅读

proc新接口

注意,在较新版本的内核中,procfs的函数接口有所变化。

系统内核版本
Linux5.10.111

在驱动中添加以下代码:

#include < linux/kernel.h >
#include < linux/module.h >
#include < linux/init.h >
#include < linux/proc_fs.h >
#include < linux/seq_file.h >

struct proc_dir_entry *my_proc_entry;

static int proc_clk_show(struct seq_file *m, void *v)
{
 seq_printf(m,
    "pll0: %lu Mhzn"
    "pll1: %lu Mhzn"
    "pll2: %lu Mhzn",
    100, 200, 300);
 return 0;
}

static int clk_info_open(struct inode *inode, struct file *filp)
{
 return single_open(filp, proc_clk_show, NULL);
}

static const struct proc_ops clk_stat_proc_fops = {
 .proc_open = clk_info_open,
 .proc_read =  seq_read,
 .proc_lseek = seq_lseek,
 .proc_release = seq_release,
};

static int __init my_module_init(void)
{
   my_proc_entry = proc_create("clk", 0, NULL, &clk_stat_proc_fops);

    return 0;
}

static void __exit my_module_exit(void)
{
   proc_remove(my_proc_entry);
}

module_init(my_module_init);
module_exit(my_module_exit);
MODULE_LICENSE("GPL");

新的proc接口中,将原来的struct file_operations换成了struct proc_ops,其中成员函数也添加了对应的前缀proc,但本质还是一样的,只是换了名字,更加规范了一些。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 内核
    +关注

    关注

    3

    文章

    1362

    浏览量

    40221
  • 接口
    +关注

    关注

    33

    文章

    8491

    浏览量

    150811
  • 驱动
    +关注

    关注

    12

    文章

    1824

    浏览量

    85169
  • Linux
    +关注

    关注

    87

    文章

    11222

    浏览量

    208886
收藏 人收藏

    评论

    相关推荐

    Linux驱动中创建procfs接口的方法

    上篇介绍Linux驱动中sysfs接口的创建,今天介绍procfs接口的创建。
    发表于 05-31 16:48 717次阅读
    <b class='flag-5'>Linux</b><b class='flag-5'>驱动</b>中创建procfs<b class='flag-5'>接口</b>的方法

    Linux平台/proc虚拟文件系统详解

    Linux 内核提供了一种通过 /proc 文件系统,在运行时访问内核内部数据结构、改变内核设置的机制。proc文件系统是一个伪文件系统(即虚拟文件系统),它只存在内存当中,而不占用外存空间。它以文件系统的方式为访问系统内核数据
    发表于 06-08 10:49 1447次阅读
    <b class='flag-5'>Linux</b>平台/<b class='flag-5'>proc</b>虚拟文件系统详解

    Linux proc文件系统详解

    上一篇:《文件系统有很多,但这几个最为重要》介绍了procfs(进程文件系统的缩写),包含一个伪文件系统(启动时动态生成的文件系统),用于通过内核访问进程信息。这个文件系统通常被挂载到 /proc 目录, /proc中不仅仅放了
    发表于 06-15 11:42 1044次阅读

    USB接口驱动的移植介绍

    一、介绍目前5G网络比较火,这里介绍一款5g模组的驱动的移植,实现5G上网,目前有很多5G模组,比如移远、simcom、华为等等接口类型有u***和PCIE,这里先
    发表于 12-20 07:32

    Linux内核空间设备驱动程序的开发

    本文详细介绍Linux平台下内核空间设备驱动程序的开发。在比较proc和dev两种文件系统的基础上,分别以PCI设备和USB设备的驱动程序
    发表于 08-19 08:44 18次下载

    需要了解的Linux中 /proc/[pid] 目录的各文件

    用户和应用程序可以通过 proc 得到系统的信息,并可以改变内核的某些参数。由于系统的信息,如进程,是动态改变的,所以用户或应用程序读取 proc 文件时,proc 文件系统是动态从系统内核读出所需信息并提交的。
    发表于 04-26 15:37 624次阅读

    Linux驱动开发-proc接口介绍

    Linux系统上的/proc目录是一种文件系统,即proc文件系统。 与其它常见的文件系统不同的是,/proc是一种伪文件系统(也即虚拟文件系统),存储的是当前内核运行状态的一系列特殊
    的头像 发表于 09-17 15:31 1514次阅读

    AIO 3399ProC工具Linux Upgrade Tool 1.34

    电子发烧友网站提供《AIO 3399ProC工具Linux Upgrade Tool 1.34.zip》资料免费下载
    发表于 09-21 10:25 2次下载
    AIO 3399<b class='flag-5'>ProC</b>工具<b class='flag-5'>Linux</b> Upgrade Tool 1.34

    AIO 3399ProC工具Linux Upgrade Tool v1.24

    电子发烧友网站提供《AIO 3399ProC工具Linux Upgrade Tool v1.24.zip》资料免费下载
    发表于 09-21 10:24 3次下载
    AIO 3399<b class='flag-5'>ProC</b>工具<b class='flag-5'>Linux</b> Upgrade Tool v1.24

    AIO 3399ProC解合包工具(Linux

    电子发烧友网站提供《AIO 3399ProC解合包工具(Linux).txt》资料免费下载
    发表于 09-21 10:01 11次下载
    AIO 3399<b class='flag-5'>ProC</b>解合包工具(<b class='flag-5'>Linux</b>)

    AIO 3399ProC Linux SDK源码包(仅支持RK3399Pro)

    电子发烧友网站提供《AIO 3399ProC Linux SDK源码包(仅支持RK3399Pro).txt》资料免费下载
    发表于 09-21 09:59 13次下载
    AIO 3399<b class='flag-5'>ProC</b> <b class='flag-5'>Linux</b> SDK源码包(仅支持RK3399Pro)

    浅谈Linux中的proc文件系统

    大家好,我是ST,今天主要和大家聊一聊,Linux中的proc文件系统。
    发表于 10-10 14:59 1677次阅读

    如何通过proc接口发起系统请求

    有些硬件平台可能不能使用 SysRq 复合键,这种情况下,也可以通过 /proc 接口进入系统请求状态。 因为在内核配置选项中,使能了 CONFIG_MAGIC_SYSRQ 选项后,系统启动之后
    的头像 发表于 09-26 16:45 517次阅读

    Linux驱动中procfs接口的创建

    procfs接口创建 实现效果: 例如, 在 /proc 下创建一个clk节点,通过 cat /proc/clk 可查看内容: 在驱动中添加以下代码: # include # incl
    的头像 发表于 09-27 11:24 339次阅读
    <b class='flag-5'>Linux</b><b class='flag-5'>驱动</b>中procfs<b class='flag-5'>接口</b>的创建

    Linux中的proc介绍

    /proc 是一种伪文件系统(也即虚拟文件系统),存储的是当前内核运行状态的一系列特殊文件,用户可以通过这些文件查看有关系统硬件及当前正在运行进程的信息,甚至可以通过更改其中某些文件来改变内核的运行状态。
    的头像 发表于 08-14 18:14 378次阅读
    <b class='flag-5'>Linux</b>中的<b class='flag-5'>proc</b><b class='flag-5'>介绍</b>