summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJenny Ho <hsiufangho@google.com>2023-05-09 19:17:29 +0800
committerJenny Ho <hsiufangho@google.com>2023-05-16 09:22:59 +0000
commit394a88e620e2a3485fa4d869aacf19fb6e86cf93 (patch)
treefc780b411a338dc1b2777fee04ea7cf99cfa650b
parentd0eceffc6b84ab6353ab23be039bd407e4dcab2e (diff)
downloadbms-394a88e620e2a3485fa4d869aacf19fb6e86cf93.tar.gz
google_battery: add read permission in health file nodes
Bug: 281551892 Change-Id: Ifcf07a0a33c4864b3cc3de951a953fff0c12026d Signed-off-by: Jenny Ho <hsiufangho@google.com> (cherry picked from commit 92039e097e3d1fe190a366304318daca29006b13)
-rw-r--r--google_battery.c42
1 files changed, 39 insertions, 3 deletions
diff --git a/google_battery.c b/google_battery.c
index 0d1af9c..8e3d412 100644
--- a/google_battery.c
+++ b/google_battery.c
@@ -7331,7 +7331,16 @@ static ssize_t health_set_cal_mode_store(struct device *dev,
return count;
}
-static DEVICE_ATTR_WO(health_set_cal_mode);
+static ssize_t health_set_cal_mode_show(struct device *dev, struct device_attribute *attr,
+ char *buf)
+{
+ struct power_supply *psy = container_of(dev, struct power_supply, dev);
+ struct batt_drv *batt_drv = (struct batt_drv *)power_supply_get_drvdata(psy);
+
+ return scnprintf(buf, PAGE_SIZE, "%d\n", batt_drv->health_data.cal_mode);
+}
+
+static DEVICE_ATTR_RW(health_set_cal_mode);
static ssize_t health_get_cal_state_show(struct device *dev,
struct device_attribute *attr, char *buf)
@@ -7362,7 +7371,21 @@ static ssize_t health_set_trend_points_store(struct device *dev,
return count;
}
-static const DEVICE_ATTR_WO(health_set_trend_points);
+static ssize_t health_set_trend_points_show(struct device *dev, struct device_attribute *attr,
+ char *buf)
+{
+ struct power_supply *psy = container_of(dev, struct power_supply, dev);
+ struct batt_drv *batt_drv = power_supply_get_drvdata(psy);
+ struct bhi_data *bhi_data = &batt_drv->health_data.bhi_data;
+
+ return scnprintf(buf, PAGE_SIZE, "%d,%d,%d,%d,%d,%d,%d,%d\n",
+ bhi_data->trend[0], bhi_data->trend[1], bhi_data->trend[2],
+ bhi_data->trend[3], bhi_data->trend[4], bhi_data->trend[5],
+ bhi_data->trend[6], bhi_data->trend[7]);
+
+}
+
+static const DEVICE_ATTR_RW(health_set_trend_points);
static ssize_t health_set_low_boundary_store(struct device *dev,
struct device_attribute *attr,
@@ -7382,7 +7405,20 @@ static ssize_t health_set_low_boundary_store(struct device *dev,
return count;
}
-static const DEVICE_ATTR_WO(health_set_low_boundary);
+static ssize_t health_set_low_boundary_show(struct device *dev, struct device_attribute *attr,
+ char *buf)
+{
+ struct power_supply *psy = container_of(dev, struct power_supply, dev);
+ struct batt_drv *batt_drv = power_supply_get_drvdata(psy);
+ struct bhi_data *bhi_data = &batt_drv->health_data.bhi_data;
+
+ return scnprintf(buf, PAGE_SIZE, "%d,%d,%d,%d,%d,%d,%d,%d\n",
+ bhi_data->l_bound[0], bhi_data->l_bound[1], bhi_data->l_bound[2],
+ bhi_data->l_bound[3], bhi_data->l_bound[4], bhi_data->l_bound[5],
+ bhi_data->l_bound[6], bhi_data->l_bound[7]);
+}
+
+static const DEVICE_ATTR_RW(health_set_low_boundary);
/* CSI --------------------------------------------------------------------- */