Hi,
On Sat, Jan 21, 2017 at 11:14:00PM -0800, Matt Ranostay wrote:
quoted hunk
Add power_supply_get_battery_info() to get battery platform data
Signed-off-by: Matt Ranostay <redacted>
---
drivers/power/supply/power_supply_core.c | 41 ++++++++++++++++++++++++++++++++
include/linux/power_supply.h | 4 ++++
2 files changed, 45 insertions(+)
diff --git a/drivers/power/supply/power_supply_core.c b/drivers/power/supply/power_supply_core.c
index 1e0960b646e8..21490b5e233f 100644
--- a/drivers/power/supply/power_supply_core.c
+++ b/drivers/power/supply/power_supply_core.c
@@ -17,6 +17,7 @@
#include <linux/device.h>
#include <linux/notifier.h>
#include <linux/err.h>
+#include <linux/of.h>
#include <linux/power_supply.h>
#include <linux/thermal.h>
#include "power_supply.h"
@@ -487,6 +488,46 @@ struct power_supply *devm_power_supply_get_by_phandle(struct device *dev,
EXPORT_SYMBOL_GPL(devm_power_supply_get_by_phandle);
#endif /* CONFIG_OF */
+int power_supply_get_battery_info(struct power_supply *psy,
+ struct power_supply_battery_info *info,
+ const char *property)
+{
+ struct device_node *np = psy->of_node;
+ struct device_node *power_supply_battery_info_np;
+ struct property *p;
+ char *prefix = "fixed-battery";
+ int ret;
+
+ if (!np)
+ return -ENXIO;
I guess we can print a warning here, that fixed-battery is
currently only supported for DT.
+ power_supply_battery_info_np = of_parse_phandle(np, property, 0);
+ if (!power_supply_battery_info_np)
+ return -ENODEV;
Let's enforce the "monitored-battery" name and remove the property
name as parameter. Iff we need another name, it could be added later.
-- Sebastian