Hi, On 12/27/2016 11:31 PM, Minkyu Kang wrote: > Hi, > > On 27 December 2016 at 17:33, Jaehoon Chung <jh80.ch...@samsung.com> wrote: > >> Remove the "ifndef CONFIG_DM_I2C". >> Instead, use the driver model for max8998. >> >> Signed-off-by: Jaehoon Chung <jh80.ch...@samsung.com> >> --- >> board/samsung/goni/goni.c | 61 ++++++++++++++++++++++++------ >> ----------------- >> 1 file changed, 31 insertions(+), 30 deletions(-) >> >> diff --git a/board/samsung/goni/goni.c b/board/samsung/goni/goni.c >> index b066832..c1d7438 100644 >> --- a/board/samsung/goni/goni.c >> +++ b/board/samsung/goni/goni.c >> @@ -9,6 +9,7 @@ >> #include <common.h> >> #include <asm/gpio.h> >> #include <asm/arch/mmc.h> >> +#include <dm.h> >> #include <power/pmic.h> >> #include <usb/dwc2_udc.h> >> #include <asm/arch/cpu.h> >> @@ -43,19 +44,6 @@ void i2c_init_board(void) >> } >> #endif >> >> -int power_init_board(void) >> -{ >> -#ifndef CONFIG_DM_I2C /* TODO(maintainer): Convert to driver model */ >> - /* >> - * For PMIC the I2C bus is named as I2C5, but it is connected >> - * to logical I2C adapter 0 >> - */ >> - return pmic_init(I2C_0); >> -#else >> - return 0; >> -#endif >> -} >> - >> int dram_init(void) >> { >> gd->ram_size = PHYS_SDRAM_1_SIZE + PHYS_SDRAM_2_SIZE + >> @@ -146,34 +134,47 @@ int board_mmc_init(bd_t *bis) >> #ifdef CONFIG_USB_GADGET >> static int s5pc1xx_phy_control(int on) >> { >> -#ifndef CONFIG_DM_I2C /* TODO(maintainer): Convert to driver model */ >> - int ret; >> +#ifdef CONFIG_DM_PMIC_MAX8998 >> > > I think, we don't need it. > What do you think?
Yes, we can remove it. Will remove. > > + struct udevice *dev; >> static int status; >> - struct pmic *p = pmic_get("MAX8998_PMIC"); >> - if (!p) >> - return -ENODEV; >> + int reg, ret; >> >> - if (pmic_probe(p)) >> - return -1; >> + ret = pmic_get("max8998_pmix", &dev); >> > > pmix -> typo? Sorry. "max8998_pmic" is right. Will fix. Best Regards, Jaehoon Chung > > >> + if (ret) >> + return ret; >> >> if (on && !status) { >> - ret = pmic_set_output(p, MAX8998_REG_ONOFF1, >> - MAX8998_LDO3, LDO_ON); >> - ret = pmic_set_output(p, MAX8998_REG_ONOFF2, >> - MAX8998_LDO8, LDO_ON); >> + reg = pmic_reg_read(dev, MAX8998_REG_ONOFF1); >> + reg |= MAX8998_LDO3; >> + ret = pmic_reg_write(dev, MAX8998_REG_ONOFF1, reg); >> if (ret) { >> puts("MAX8998 LDO setting error!\n"); >> - return -1; >> + return -EINVAL; >> + } >> + >> + reg = pmic_reg_read(dev, MAX8998_REG_ONOFF2); >> + reg |= MAX8998_LDO8; >> + ret = pmic_reg_write(dev, MAX8998_REG_ONOFF2, reg); >> + if (ret) { >> + puts("MAX8998 LDO setting error!\n"); >> + return -EINVAL; >> } >> status = 1; >> } else if (!on && status) { >> - ret = pmic_set_output(p, MAX8998_REG_ONOFF1, >> - MAX8998_LDO3, LDO_OFF); >> - ret = pmic_set_output(p, MAX8998_REG_ONOFF2, >> - MAX8998_LDO8, LDO_OFF); >> + reg = pmic_reg_read(dev, MAX8998_REG_ONOFF1); >> + reg &= ~MAX8998_LDO3; >> + ret = pmic_reg_write(dev, MAX8998_REG_ONOFF1, reg); >> + if (ret) { >> + puts("MAX8998 LDO setting error!\n"); >> + return -EINVAL; >> + } >> + >> + reg = pmic_reg_read(dev, MAX8998_REG_ONOFF2); >> + reg &= ~MAX8998_LDO8; >> + ret = pmic_reg_write(dev, MAX8998_REG_ONOFF2, reg); >> if (ret) { >> puts("MAX8998 LDO setting error!\n"); >> - return -1; >> + return -EINVAL; >> } >> status = 0; >> } >> -- >> 2.10.2 >> >> _______________________________________________ >> U-Boot mailing list >> U-Boot@lists.denx.de >> http://lists.denx.de/mailman/listinfo/u-boot >> > > > Thanks, > _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot