diff options
author | Vincent Stehlé <v-stehle@ti.com> | 2012-12-03 05:23:17 +0000 |
---|---|---|
committer | Tom Rini <trini@ti.com> | 2012-12-10 12:45:35 -0700 |
commit | ce851c8b3c8d3318b7afd46019f8ac50a8587ee4 (patch) | |
tree | 8ec1198f7d5b01428b50a04f75e1475c62b38163 | |
parent | febc4cd48a5c030c7fd411be519505701c100838 (diff) | |
download | u-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.c | 17 | ||||
-rw-r--r-- | include/twl6035.h | 2 |
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); |