社区
驱动程序开发区
帖子详情
__ATTR(enable,0664,enable_show,_enable_store)
zlcchina
2014-12-20 04:01:59
struct device_attribute nable_attribute = __ATTR(enable,0664,enable_show,_enable_store);
enable接口去哪里了,怎么找?
...全文
171
1
打赏
收藏
__ATTR(enable,0664,enable_show,_enable_store)
struct device_attribute nable_attribute = __ATTR(enable,0664,enable_show,_enable_store); enable接口去哪里了,怎么找?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
1 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
羽飞
2014-12-25
打赏
举报
回复
#define __ATTR(_name, _mode, _show, _store) { \ .attr = {.name = __stringify(_name), .mode = _mode }, \ .show = _show, \ .store = _store, \ } __ATTR的定义是这样的 里面的_name是这样处理的: #define __stringify_1(x...) #x #define __stringify(x...) __stringify_1(x) 所以_name最终的结果就是#_name enable就是"enable"了
Linux下的rar解压缩工具
Linux下的rar解压缩工具: RAR 5.60 beta 1 Copyright (c) 1993-2018 Alexander Roshal 21 Mar 2018 Trial version Type 'rar -?' for help Usage: rar
-
-
<@listfiles...>
a Add files to archive c Add archive comment ch Change archive parameters cw Write archive comment to file d Delete files from archive e Extract files without archived paths f Freshen files in archive i[par]=
Find string in archives k Lock archive l[t[a],b] List archive contents [technical[all], bare] m[f] Move to archive [files only] p Print file to stdout r Repair archive rc Reconstruct missing volumes rn Rename archived files rr[N] Add data recovery record rv[N] Create recovery volumes s[name|-] Convert archive to or from SFX t Test archive files u Update files in archive v[t[a],b] Verbosely list archive contents [technical[all],bare] x Extract files with full path
- Stop switches scanning @[+] Disable [
enable
] file lists ad Append archive name to destination path ag[format] Generate archive name using the current date ai Ignore file
attr
ibutes ap
Set path inside archive as Synchronize archive contents c- Disable comments show cfg- Disable read configuration cl Convert names to lower case cu Convert names to upper case df Delete files after archiving dh Open shared files ds Disable name sort for solid archive dw Wipe files after archiving e[+]<
attr
> Set file exclude and include
attr
ibutes ed Do not add empty directories en Do not put 'end of archive' block ep Exclude paths from names ep1 Exclude base directory from names ep3 Expand paths to full including the drive letter f Freshen files hp[password] Encrypt both file data and headers ht[b|c] Select hash type [BLAKE2,CRC32] for file checksum id[c,d,p,q] Disable messages ierr Send all messages to stderr ilog[name] Log errors to file inul Disable all messages isnd
Enable
sound iver Display the version number k Lock archive kb Keep broken extracted files log[f][=name] Write names to log file m<0..5> Set compression level (0-
store
...3-default...5-maximal) ma[4|5] Specify a version of archiving format mc
Set advanced compression parameters md
[k,m,g] Dictionary size in KB, MB or GB ms[ext;ext] Specify file types to
store
mt
Set the number of threads n
Additionally filter included files n@ Read additional filter masks from stdin n@
Read additional filter masks from list file o[+|-] Set the overwrite mode oh Save hard links as the link instead of the file oi[0-4][:min] Save identical files as references ol[a] Process symbolic links as the link [absolute paths] or Rename files automatically ow Save or re
store
file owner and group p[password] Set password p- Do not query password qo[-|+] Add quick open information [none|force] r Recurse subdirectories r- Disable recursion r0 Recurse subdirectories for wildcard names only rr[N] Add data recovery record rv[N] Create recovery volumes s[
,v[-],e] Create solid archive s- Disable solid archiving sc
[obj] Specify the character set sfx[name] Create SFX archive si[name] Read data from standard input (stdin) sl
Process files with size less than specified sm
Process files with size more than specified t Test files after archiving ta
Process files modified after
in YYYYMMDDHHMMSS format tb
Process files modified before
in YYYYMMDDHHMMSS format tk Keep original archive time tl Set archive time to latest file tn
Process files newer than
to
Process files older than
ts[m|c|a] Save or re
store
file time (modification, creation, access) u Update files v
[k,b] Create volumes with size=
*1000 [*1024, *1] ver[n] File version control vn Use the old style volume naming scheme vp Pause before each volume w
Assign work directory x
Exclude specified file x@ Read file names to exclude from stdin x@
Exclude files listed in specified list file y Assume Yes on all queries z[file] Read archive comment from file
static DEVICE_
ATTR
(val, S_IRUGO | S_IWUSR, hello_val_show, hello_val_
store
); 的作用
在 老罗的android例程里面有 static DEVICE_
ATTR
(val, S_IRUGO | S_IWUSR, hello_val_show, hello_val_
store
); /*读取设备属性val*/ staticssize_thello_val_show(structdevice*dev,structdevice_
attr
ibute*
attr
,cha...
搞定系列 :paddleocr训练自己数据集windows版
paddleocr训练自己数据集windows版是一门专门适合初学者训练自己的paddleocr模型教程。通过本教程您可以收获:(1)学会在windows上安装自己的显卡驱动(2)学会在windows上安装cuda+cudnn(3)学会在windows上安装anaconda3(4)学会在windows安装PPOCRLabel以及使用PPOCRLabel标注自己的数据集(5)学会使用paddleocr训练文本检测模型(6)学会使用paddleocr训练文本识别模型(7)学会使用paddleocr导出自己的模型(8)学会使用paddleocr测试自己的模型
sysfs接口函数的建立_DEVICE_
ATTR
如 对设备的使用 DEVICE_
ATTR
,对总线使用 BUS_
ATTR
,对驱动使用 DRIVER_
ATTR
,对类 别 (class) 使用 CLASS_
ATTR
, 这四个高级的宏来自于函数宏DEVICE_
ATTR
内封装的是__
ATTR
(_name,_mode,_show,_stroe)方法,_show表示的是读方法,_stroe表示的是写方法。如果你完成了DEVICE_
ATTR
函数宏的填充,下面就需要创建接口了。
linux使用DEVICE_
ATTR
创建设备节点(常用)
DEVICE_
ATTR
是一个宏,其定义在include/linux/device.h文件: #define DEVICE_
ATTR
(_name, _mode, _show, _
store
) \ struct device_
attr
ibute dev_
attr
_##_name = __
ATTR
(_name, _mode, _show, _
store
) __
ATTR
宏定义在include/linux...
驱动程序开发区
1,318
社区成员
2,173
社区内容
发帖
与我相关
我的任务
驱动程序开发区
主要是开发驱动技术
复制链接
扫一扫
分享
社区描述
主要是开发驱动技术
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章