From 3cc293e26fa87f54d4a4c70448ff99b817c76913 Mon Sep 17 00:00:00 2001
From: Rask Ingemann Lambertsen <rask@formelder.dk>
Date: Wed, 18 Jan 2017 21:53:40 +0100
Subject: [PATCH] sunxi: power: axp809.c: Fix aldo1-2 being disabled for mvolt
 != 0

The execution flow is currently like this for aldo_num == 1 or 2:

int axp_set_aldo(int aldo_num, unsigned int mvolt)
{
...
	if (mvolt == 0)
		return pmic_bus_clrbits(AXP809_OUTPUT_CTRL1,
				AXP809_OUTPUT_CTRL1_ALDO1_EN << (aldo_num - 1));
...
	return pmic_bus_clrbits(AXP809_OUTPUT_CTRL1,
 				AXP809_OUTPUT_CTRL1_ALDO1_EN << (aldo_num - 1));
 }

I.e. aldo1 and aldo2 will always be disabled. This patch fixes it by
setting (rather than clearing) the enable bit when mvolt != 0.

Signed-off-by: Rask Ingemann Lambertsen <rask@formelder.dk>
Fixes: 795857df413a ("sunxi: power: add AXP809 support")
---
 drivers/power/axp809.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/power/axp809.c b/drivers/power/axp809.c
index c5b608d2f0..5b5cb360ec 100644
--- a/drivers/power/axp809.c
+++ b/drivers/power/axp809.c
@@ -143,7 +143,7 @@ int axp_set_aldo(int aldo_num, unsigned int mvolt)
 	if (aldo_num == 3)
 		return pmic_bus_setbits(AXP809_OUTPUT_CTRL2,
 					AXP809_OUTPUT_CTRL2_ALDO3_EN);
-	return pmic_bus_clrbits(AXP809_OUTPUT_CTRL1,
+	return pmic_bus_setbits(AXP809_OUTPUT_CTRL1,
 				AXP809_OUTPUT_CTRL1_ALDO1_EN << (aldo_num - 1));
 }
 
-- 
2.39.5