sysfs cannot create duplicate filename问题
使用aw2013控制led等,驱动加载错误信息:
[ 8.018702] ------------[ cut here ]------------
[ 8.018715] WARNING: CPU: 5 PID: 1 at /home/chenky/trunk/kernel/msm-3.18/fs/sysfs/dir.c:31 sysfs_warn_dup+0x68/0x80()
[ 8.018718] sysfs: cannot create duplicate filename '/class/leds/red'
[ 8.018723] Modules linked in:
[ 8.018730] CPU: 5 PID: 1 Comm: swapper/0 Tainted: G W 3.18.31-perf-svn224 #3
[ 8.018733] Hardware name: Qualcomm Technologies, Inc. MSM8937-PMI8937 QRD SKU2 (DT)
[ 8.018735] Call trace:
[ 8.018743] [<ffffffc000089afc>] dump_backtrace+0x0/0x23c
[ 8.018749] [<ffffffc000089d4c>] show_stack+0x14/0x1c
[ 8.018756] [<ffffffc000c2f164>] dump_stack+0x80/0xa4
[ 8.018763] [<ffffffc0000a2db0>] warn_slowpath_common+0x8c/0xb0
[ 8.018769] [<ffffffc0000a2e34>] warn_slowpath_fmt+0x60/0x80
[ 8.018775] [<ffffffc0002118b8>] sysfs_warn_dup+0x68/0x80
[ 8.018781] [<ffffffc000211bf4>] sysfs_do_create_link_sd.isra.2+0x9c/0xb4
[ 8.018786] [<ffffffc000211c40>] sysfs_create_link+0x34/0x3c
[ 8.018793] [<ffffffc00051c754>] device_add+0x248/0x56c
[ 8.018797] [<ffffffc00051cc1c>] device_create_groups_vargs+0xb0/0xf4
[ 8.018802] [<ffffffc00051cd70>] device_create_with_groups+0x5c/0x7c
[ 8.018809] [<ffffffc000877c84>] led_classdev_register+0x40/0x124
[ 8.018815] [<ffffffc000883914>] aw2013_led_probe+0x35c/0x5e8
[ 8.018822] [<ffffffc0006e5630>] i2c_device_probe+0xb8/0xec
[ 8.018827] [<ffffffc00051f1e4>] driver_probe_device+0xd8/0x224
[ 8.018832] [<ffffffc00051f3e0>] __driver_attach+0x64/0x90
[ 8.018838] [<ffffffc00051e2e0>] bus_for_each_dev+0x80/0xb0
[ 8.018843] [<ffffffc00051ecac>] driver_attach+0x20/0x28
[ 8.018847] [<ffffffc00051e94c>] bus_add_driver+0xfc/0x1cc
[ 8.018852] [<ffffffc00051fd94>] driver_register+0x94/0xe0
[ 8.018857] [<ffffffc0006e4afc>] i2c_register_driver+0x4c/0xac
[ 8.018863] [<ffffffc0012f9ee0>] aw2013_led_init+0x18/0x20
[ 8.018868] [<ffffffc000082ae4>] do_one_initcall+0x18c/0x1a8
[ 8.018876] [<ffffffc0012b7b00>] kernel_init_freeable+0x148/0x1e4
[ 8.018881] [<ffffffc000c28ca4>] kernel_init+0x14/0xd8
[ 8.018884] ---[ end trace 9564add2166cd02a ]---
[ 8.018918] aw2013_led 5-0045: unable to register led 0,rc=-17
[ 8.018924] aw2013_led 5-0045: parsed node error
[ 8.018934] aw2013_led: probe of 5-0045 failed with error -17
rc=-17这个值是由led_classdev_register()--->device_create_with_groups()时,PTR_ERR(led_cdev->dev)的返回值
错误码在kernel\msm-3.18\include\uapi\asm-generic\errno-base.h中有定义
#define EPERM 1 /* Operation not permitted */
#define ENOENT 2 /* No such file or directory */
…
#define EEXIST 17 /* File exists */
#define EXDEV 18 /* Cross-device link */
比如17对应EEXIST,也就是文件已经存在,我们进入/sys/class/leds,ls -l
可见qpnp-smbcharger驱动已经注册了red,但我们实际产品不是用pmi芯片默认的 CHG_LED pin脚来控制led,而是使用aw2013,所以注释掉msm8937-pmi8937-qrd-sku2.dtsi下面相关的
&pmi8937_charger {
qcom,battery-data = <&qrd_batterydata>;
qcom,float-voltage-mv = <4200>;
qcom,chg-led-sw-controls;
//qcom,chg-led-support;//kandi mark
注视掉qcom,chg-led-support;
sysfs cannot create duplicate filename问题相关推荐
- sysfs: cannot create duplicate filename '/class/spi_master/spi1'
在编写SPI驱动程序的时候,遇到如下问题 s3c2410-spi s3c2410-spi.0: master is unqueued, this is deprecated ------------[ ...
- Linux设备模型——设备驱动模型和sysfs文件系统解读笔记
Linux设备模型--设备驱动模型和sysfs文件系统解读笔记 原文:https://blog.csdn.net/yj4231/article/details/7799245 将对Linux系统中的s ...
- 加载linux驱动模块时,终端提示一堆内存错误
一.问题描述 在写好一个linux驱动模块,在开发板上运行的时候,出现以下提示: WARNING: CPU: 0 PID: 100 at fs/sysfs/dir.c:31 sysfs_warn_du ...
- 高通平台启动log概述(PBL log、sbl1 log、kernel log)
高通平台启动log概述(PBL log.sbl1 log.kernel log) 在嵌入式linux的调试过程中log有着至关重要的地位,等同于医生的CT报告.能够熟悉启动各个阶段的log,如PBL阶 ...
- k8s kubectl create命令使用详解
k8s kubectl create命令使用详解 Create a resource by filename or stdin 摘要 Create a resource by filename or ...
- 容器编排技术 -- Kubernetes kubectl create 命令详解
容器编排技术 -- Kubernetes kubectl create 命令详解 1 kubectl create 2 语法 3 示例 4 Flags kubectl create 通过配置文件名或s ...
- idea从git上拉取项目没进入本地git(Filename too long问题)
问题场景:接手新项目发现拉下来的git项目文件全是红色,很明显看出没有进入本地git,于是乎一顿操作猛如虎,统统右键add进git,最后写好的代码准备commit 发现居然有两万多个文件提交.检查原因 ...
- kubectl 命令使用(create系列)
目录 1.kubectl create 语法 示例 2.kubectl create clusterrole 语法 示例 3.kubectl create clusterrolebinding 语法 ...
- linux中的热插拔和mdev机制
mdev手册(自己翻译的留着看) mdev实现U盘或SD卡的自动挂载 mdev的使用以及mdev.conf的规则配置--busybox linux中的热插拔和mdev机制 关于实现udev/mdev自 ...
最新文章
- Spring为什么建议构造器注入?
- SAP QM IDI Interface
- Interviews(内连接,左外连接,分组、聚合)
- 20应用统计考研复试要点(part29)--论述题及面试题
- 有的时候入门只是一瞬间
- 【vue-router①】router-link跳转页面传递参数 - 进击的前端之路(偶尔爬坑java小路) - SegmentFault 思否
- 【英语学习】【加州教材】【G1】【科学】Science目录及术语表
- CocosCreator发布web-desktop获取本地资源
- qt messagebox退出程序_Qt多线程创建
- 提供一个文档下载接口,用httpclient下载文件
- android图片的透明度变化,Android如何实现改变图片的透明度
- linux dnf教程视频,DNF的命令使用教学
- matlab special,matlab的special函数用法
- html5 数据库 视图,创建视图的sql语句是什么
- Authorization loop detected on Conduit with realm “WSMAN“
- PIPIOJ1103: PIPI的数学题I/同余定理
- 软考中级哪一门比较好过?
- 科研 | 学生研究方向指导 | 技术路线 | 相关学习资源
- 增大SwipeRefreshLayout容差
- Mapper method ‘com.LH.mapper.EmployeeMapper.insertEmployee‘ has an unsupported return type: cla 报错
热门文章
- HashMap 的使用
- jvm可以运行多种语言吗
- JVM怎么判断对象是否存活
- 注解RequestMapping中的URI路径最前面到底需不需要加斜线?
- 087_改变html
- 模板格式丢失_公司法人私章证明丢失应该怎么办,需要补办吗?
- sql left join用法_一张图看懂 SQL 的各种 join 用法
- 自然语言理解属于计算机应用的那个范畴,基于自然语言理解的3D场景构造研究-计算机应用技术专业论文.docx...
- linux过滤脚本中的字段,Shell脚本中常用的文本过滤命令
- python本地读csv文件_python读写csv文件方法详细总结