Platform: RK3288
OS: Android 6.0
Kernel: 3.10.92
LP55231和LP5523两颗IC是兼容的。
LP55231是TI公司发布的,LP5523是原来的Nation公司发布的.
对应的驱动是leds-lp5523.c
,但是3.10.92内核对应驱动并不兼容dts,没有给出解析dts中platform data的接口。
因此两种方法可以解决此问题:
1. 添加解析dts接口解析platform data.
2. 直接在driver中添加platform data
简单起见,我直接选择了第二种方法了,以下是改动:
diff --git a/drivers/leds/leds-lp5523.c b/drivers/leds/leds-lp5523.c
index 229f734..cd39611 100644
--- a/drivers/leds/leds-lp5523.c
+++ b/drivers/leds/leds-lp5523.c
@@ -423,13 +423,114 @@ static struct lp55xx_device_config lp5523_cfg = {
.dev_attr_group = &lp5523_group,
};
+/*Kris, 180404, add platform data. {*/
+static struct lp55xx_led_config lp5523_led_config[] = {
+ {
+ .name = "D1",
+ .chan_nr = 0,
+ .led_current = 50,
+ .max_current = 130,
+ },
+ {
+ .name = "D2",
+ .chan_n