在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