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

    文章

    1309

    浏览量

    39850
  • 接口
    +关注

    关注

    33

    文章

    7640

    浏览量

    148509
  • 驱动
    +关注

    关注

    11

    文章

    1718

    浏览量

    84350
  • Linux
    +关注

    关注

    87

    文章

    10990

    浏览量

    206738
收藏 人收藏

    评论

    相关推荐

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

    上篇介绍Linux驱动中sysfs接口的创建,今天介绍procfs接口的创建。
    发表于 05-31 16:48 569次阅读
    <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 1082次阅读
    <b class='flag-5'>Linux</b>平台/<b class='flag-5'>proc</b>虚拟文件系统详解

    Linux proc文件系统详解

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

    Linux学习杂谈】之proc文件系统

    Linux的后面的版本(具体的哪个版本开始的不是特别清楚),加入了proc文件系统,这个文件系统是什么呢?首先他不是一个真实存在于硬盘当中的文件系统,它是有内核构建的一个虚拟的文件系统,在里面的文件大小
    发表于 08-21 13:42

    USB接口驱动的移植介绍

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

    基于Linux的步进电机驱动程序设计

    介绍Linux驱动程序的实现机制,在分析步进电机和驱动程序接口的基础上,给出了一个在嵌入式Linux平台上编写步进电机
    发表于 06-15 14:22 5537次阅读
    基于<b class='flag-5'>Linux</b>的步进电机<b class='flag-5'>驱动</b>程序设计

    嵌入式Linux下ARM_DSP通信接口设计及驱动开发

    嵌入式Linux下ARM_DSP通信接口设计及驱动开发
    发表于 05-19 11:17 0次下载

    基于嵌入式Linux下ARM_DSP通信接口设计及驱动开发

    基于嵌入式Linux下ARM_DSP通信接口设计及驱动开发
    发表于 10-19 10:38 12次下载
    基于嵌入式<b class='flag-5'>Linux</b>下ARM_DSP通信<b class='flag-5'>接口</b>设计及<b class='flag-5'>驱动</b>开发

    Linux驱动开发-proc接口介绍

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

    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 10次下载
    AIO 3399<b class='flag-5'>ProC</b>解合包工具(<b class='flag-5'>Linux</b>)

    浅谈Linux中的proc文件系统

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

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

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

    Linux驱动中procfs接口的创建

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