在dtsi中添加一些变量值时需使用OF_PROP_READ来解析,这个时候如果解析失败,则会导致一些错误;
比如在charger模块中添加如下值,最后一个参数如果是0,则表示必选,读取不到就会报错;如果置1,则表示可选,读取不到则并不会引起初始化失败;
#define OF_PROP_READ(chip, prop, qpnp_dt_property, retval, optional)
OF_PROP_READ(chip, cfg_icl_current, "chg-default-dcp-icl-ma", rc, 1);
当在charger中添加自定义的变量时,应该使用可选型,即置1, 这样即使读取不到也不影响功能;我就遇到置了0,导致Android端口不能起来,手机无法识别;
保险的做法,置1,检查dtsi中有没有添加相关的变量的默认值;然后即使读取不到,也要显性的设置一个默认值,比如
cfg_icl_current = 1000; // 1000mA