summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVincent Stehlé <v-stehle@ti.com>2012-12-03 05:23:17 +0000
committerTom Rini <trini@ti.com>2012-12-10 12:45:35 -0700
commitce851c8b3c8d3318b7afd46019f8ac50a8587ee4 (patch)
tree8ec1198f7d5b01428b50a04f75e1475c62b38163
parentfebc4cd48a5c030c7fd411be519505701c100838 (diff)
downloadu-boot-imx-ce851c8b3c8d3318b7afd46019f8ac50a8587ee4.zip
u-boot-imx-ce851c8b3c8d3318b7afd46019f8ac50a8587ee4.tar.gz
u-boot-imx-ce851c8b3c8d3318b7afd46019f8ac50a8587ee4.tar.bz2
power: twl6035: complain on LDO9 error
We handle i2c_write return code and complain in case of error. We propagate the error, too, to allow better handling at the upper level in the future. Signed-off-by: Vincent Stehlé <v-stehle@ti.com>
-rw-r--r--drivers/power/twl6035.c17
-rw-r--r--include/twl6035.h2
2 files changed, 14 insertions, 5 deletions
diff --git a/drivers/power/twl6035.c b/drivers/power/twl6035.c
index 624c09e..d3de698 100644
--- a/drivers/power/twl6035.c
+++ b/drivers/power/twl6035.c
@@ -50,16 +50,25 @@ void twl6035_init_settings(void)
return;
}
-void twl6035_mmc1_poweron_ldo(void)
+int twl6035_mmc1_poweron_ldo(void)
{
u8 val = 0;
/* set LDO9 TWL6035 to 3V */
val = 0x2b; /* (3 -.9)*28 +1 */
- palmas_write_u8(0x48, LDO9_VOLTAGE, val);
+
+ if (palmas_write_u8(0x48, LDO9_VOLTAGE, val)) {
+ printf("twl6035: could not set LDO9 voltage.\n");
+ return 1;
+ }
/* TURN ON LDO9 */
val = LDO_ON | LDO_MODE_SLEEP | LDO_MODE_ACTIVE;
- palmas_write_u8(0x48, LDO9_CTRL, val);
- return;
+
+ if (palmas_write_u8(0x48, LDO9_CTRL, val)) {
+ printf("twl6035: could not turn on LDO9.\n");
+ return 1;
+ }
+
+ return 0;
}
diff --git a/include/twl6035.h b/include/twl6035.h
index e21ddba..ce74348 100644
--- a/include/twl6035.h
+++ b/include/twl6035.h
@@ -39,4 +39,4 @@
int twl6035_i2c_write_u8(u8 chip_no, u8 val, u8 reg);
int twl6035_i2c_read_u8(u8 chip_no, u8 *val, u8 reg);
void twl6035_init_settings(void);
-void twl6035_mmc1_poweron_ldo(void);
+int twl6035_mmc1_poweron_ldo(void);