diff options
author | Jenny Ho <hsiufangho@google.com> | 2023-05-09 19:17:29 +0800 |
---|---|---|
committer | Jenny Ho <hsiufangho@google.com> | 2023-05-16 09:22:59 +0000 |
commit | 394a88e620e2a3485fa4d869aacf19fb6e86cf93 (patch) | |
tree | fc780b411a338dc1b2777fee04ea7cf99cfa650b | |
parent | d0eceffc6b84ab6353ab23be039bd407e4dcab2e (diff) | |
download | bms-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.c | 42 |
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 --------------------------------------------------------------------- */ |