[U-Boot] [PATCH V4 1/6] exynos: Use common pmic_reg_update() definition
Leela Krishna Amudala
l.krishna at samsung.com
Mon Jan 6 12:49:12 CET 2014
This function is used by different Exynos platforms, put it in the
common file.
Signed-off-by: Vadim Bendebury <vbendeb at chromium.org>
Signed-off-by: Leela Krishna Amudala <l.krishna at samsung.com>
Reviewed-by: Doug Anderson <dianders at google.com>
Reviewed-by: Lukasz Majewski <l.majewski at samsung.com>
Acked-by: Simon Glass <sjg at chromium.org>
---
board/samsung/common/board.c | 19 -------------------
drivers/power/power_core.c | 20 ++++++++++++++++++++
include/power/pmic.h | 1 +
3 files changed, 21 insertions(+), 19 deletions(-)
diff --git a/board/samsung/common/board.c b/board/samsung/common/board.c
index cd873bc..b3b84c1 100644
--- a/board/samsung/common/board.c
+++ b/board/samsung/common/board.c
@@ -162,25 +162,6 @@ static int board_init_cros_ec_devices(const void *blob)
#if defined(CONFIG_POWER)
#ifdef CONFIG_POWER_MAX77686
-static int pmic_reg_update(struct pmic *p, int reg, uint regval)
-{
- u32 val;
- int ret = 0;
-
- ret = pmic_reg_read(p, reg, &val);
- if (ret) {
- debug("%s: PMIC %d register read failed\n", __func__, reg);
- return -1;
- }
- val |= regval;
- ret = pmic_reg_write(p, reg, val);
- if (ret) {
- debug("%s: PMIC %d register write failed\n", __func__, reg);
- return -1;
- }
- return 0;
-}
-
static int max77686_init(void)
{
struct pmic *p;
diff --git a/drivers/power/power_core.c b/drivers/power/power_core.c
index 29ccc83..a1c4fd0 100644
--- a/drivers/power/power_core.c
+++ b/drivers/power/power_core.c
@@ -208,6 +208,26 @@ int do_pmic(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
return CMD_RET_SUCCESS;
}
+int pmic_reg_update(struct pmic *p, int reg, u32 val)
+{
+ u32 regval;
+ int ret;
+
+ ret = pmic_reg_read(p, reg, ®val);
+ if (ret) {
+ debug("%s: PMIC %d register read failed\n", __func__, reg);
+ return -1;
+ }
+
+ regval |= val;
+ ret = pmic_reg_write(p, reg, regval);
+ if (ret) {
+ debug("%s: PMIC %d register write failed\n", __func__, reg);
+ return -1;
+ }
+ return 0;
+}
+
U_BOOT_CMD(
pmic, CONFIG_SYS_MAXARGS, 1, do_pmic,
"PMIC",
diff --git a/include/power/pmic.h b/include/power/pmic.h
index 0e7aa31..e0b9139 100644
--- a/include/power/pmic.h
+++ b/include/power/pmic.h
@@ -83,6 +83,7 @@ int pmic_probe(struct pmic *p);
int pmic_reg_read(struct pmic *p, u32 reg, u32 *val);
int pmic_reg_write(struct pmic *p, u32 reg, u32 val);
int pmic_set_output(struct pmic *p, u32 reg, int ldo, int on);
+int pmic_reg_update(struct pmic *p, int reg, u32 val);
#define pmic_i2c_addr (p->hw.i2c.addr)
#define pmic_i2c_tx_num (p->hw.i2c.tx_num)
--
1.7.9.5
More information about the U-Boot
mailing list