前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Linux为什么有些驱动必须用sysfs

Linux为什么有些驱动必须用sysfs

作者头像
用户9736681
发布2023-09-01 13:27:00
1140
发布2023-09-01 13:27:00
举报
文章被收录于专栏:嵌入式随笔嵌入式随笔

sysfs是一个特殊的文件系统,可以设备驱动模型之间的层级关系。可以通过这个文件系统来操作设备。有些设备还只能用sysfs来使用。sysfs可以通过读写数据对设备进行具体的操作。ioctl也可以读写数据,但是有些场合还是使用sysfs更合适。

sysfs可以在控制台和shell脚本上直接和用户空间进行交互,而ioctl需要编写个c程序才能运行。因此在这方面sysfs更合适。

sysfs可以将设备属性直接展示给用户,比如要对一个LED等做一些操作,先查看一下这个led的属性

代码语言:javascript
复制
/sys/class/leds/led1# lsbrightness      device     invert     max_brightness  power      subsystem       trigger         uevent

基本都会有这么些个属性,先假设控制亮度的驱动都编写了,可以根据 max_brightness的值确定最大亮度。

代码语言:javascript
复制
root@xxx:/sys/class/leds/led1# cat max_brightness255

再将对应亮度值输入控制亮度

代码语言:javascript
复制
root@xxx:/sys/class/leds/led1# echo 100 > brightness

如果同样的功能使用ioctl来做需要先查询对应功能的标志位,比较麻烦。

因此有些功能使用sysfs来做更合适。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2023-07-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 嵌入式随笔 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档