diff mbox series

[1/4] power: supply: axp20x_battery: add support for DT battery

Message ID 20170511134221.5569-2-quentin.schulz@free-electrons.com
State Accepted
Commit f8c91bae0c37dfc5aecc49cafc5c1ea9d9227731
Headers show
Series [1/4] power: supply: axp20x_battery: add support for DT battery | expand

Commit Message

Quentin Schulz May 11, 2017, 1:42 p.m. UTC
This adds support in X-Powers AXP20X and AXP22X battery driver for a
fixed battery in DT.

It will take the minimum supported voltage by the battery as defined in
the battery DT node and set the V_OFF register to this value, telling
the system to shut down if the supplied power is below this value.

Signed-off-by: Quentin Schulz <quentin.schulz@free-electrons.com>

---
 drivers/power/supply/axp20x_battery.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

-- 
2.11.0
diff mbox series

Patch

diff --git a/drivers/power/supply/axp20x_battery.c b/drivers/power/supply/axp20x_battery.c
index 5d29b2eab8fc..66f530541735 100644
--- a/drivers/power/supply/axp20x_battery.c
+++ b/drivers/power/supply/axp20x_battery.c
@@ -433,6 +433,7 @@  static int axp20x_power_probe(struct platform_device *pdev)
 {
 	struct axp20x_batt_ps *axp20x_batt;
 	struct power_supply_config psy_cfg = {};
+	struct power_supply_battery_info info;
 
 	if (!of_device_is_available(pdev->dev.of_node))
 		return -ENODEV;
@@ -484,6 +485,15 @@  static int axp20x_power_probe(struct platform_device *pdev)
 		return PTR_ERR(axp20x_batt->batt);
 	}
 
+	if (!power_supply_get_battery_info(axp20x_batt->batt, &info)) {
+		int vmin = info.voltage_min_design_uv;
+
+		if (vmin > 0 && axp20x_set_voltage_min_design(axp20x_batt,
+							      vmin))
+			dev_err(&pdev->dev,
+				"couldn't set voltage_min_design\n");
+	}
+
 	return 0;
 }