
Hi Leela,
This function is used by different Exynos platforms, put it in the common file.
Signed-off-by: Vadim Bendebury vbendeb@chromium.org Signed-off-by: Leela Krishna Amudala l.krishna@samsung.com Reviewed-by: Doug Anderson dianders@google.com
board/samsung/common/board.c | 19 ------------------- drivers/power/power_i2c.c | 19 +++++++++++++++++++ include/power/pmic.h | 1 + 3 files changed, 20 insertions(+), 19 deletions(-)
diff --git a/board/samsung/common/board.c b/board/samsung/common/board.c index ce85ddb..87ca9de 100644 --- a/board/samsung/common/board.c +++ b/board/samsung/common/board.c @@ -152,25 +152,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_i2c.c b/drivers/power/power_i2c.c index ac76870..47c606f 100644 --- a/drivers/power/power_i2c.c +++ b/drivers/power/power_i2c.c @@ -96,6 +96,25 @@ int pmic_reg_read(struct pmic *p, u32 reg, u32 *val) return 0; }
+int pmic_reg_update(struct pmic *p, int reg, uint regval)
It seems like this function shall be added to pmic_core.c, since it uses the pmic_reg_{read|write}, which are defined for both, spi and i2c.
+{
- 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;
+}
int pmic_probe(struct pmic *p) { i2c_set_bus_num(p->bus); diff --git a/include/power/pmic.h b/include/power/pmic.h index 0e7aa31..d17dbdc 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, uint regval);
#define pmic_i2c_addr (p->hw.i2c.addr) #define pmic_i2c_tx_num (p->hw.i2c.tx_num)