Leds用ls看不到red,注册red的代码如下:
对应的log信息
[ 4.247497] aw2013_led 5-0045: to register led red, rc = 0
[ 4.247513] aw2013_led 5-0045: parsed_leds=1
[ 4.247638] aw2013_led 5-0045: to register led blue, rc = 0
[ 4.247653] aw2013_led 5-0045: parsed_leds=2
rc = 0表示是注册成功的,为什么看不到red呢,用ls -l查看结果如下:
这里可以看到有mmc1::red,也可以看到有red,都是在sys/class/leds下注册,注册mmc1::red对应的代码在kernel\msm-3.18\drivers\mmc\host\sdhci.c\sdhci_add_host()中:
为了解决都在sys/class/leds下注册red冲突问题,有两个方法:
1. Aw2013注册的red改个不同的名字
2. 不定义上图4318行的SDHCI_USE_LEDS_CLASS
因为我们产品中SD这部分没有用到LED来作为指示,所以就采用第2种方法。