summaryrefslogtreecommitdiff
path: root/board/samsung
diff options
context:
space:
mode:
authorJaehoon Chung <jh80.chung@samsung.com>2021-02-23 01:28:22 +0300
committerMinkyu Kang <mk7.kang@samsung.com>2021-02-23 09:43:13 +0300
commit579d819971b9e33a8fdc5e509e864ba58458a11c (patch)
treef614467ccffdf8245b43578198c051fbab1e21b8 /board/samsung
parent8f7a16aac36c2a38956bd04b53cb7b94b7a70180 (diff)
downloadu-boot-579d819971b9e33a8fdc5e509e864ba58458a11c.tar.xz
board: samsung: covert to driver model about power_key_pressed
Convert to driver model about power_key_pressed. Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com> Reviewed-by: Simon Glass <sjg@chromium.org> Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
Diffstat (limited to 'board/samsung')
-rw-r--r--board/samsung/common/misc.c27
1 files changed, 14 insertions, 13 deletions
diff --git a/board/samsung/common/misc.c b/board/samsung/common/misc.c
index d48ba7eaf0..b3b1bbcc82 100644
--- a/board/samsung/common/misc.c
+++ b/board/samsung/common/misc.c
@@ -117,32 +117,33 @@ void set_board_info(void)
#ifdef CONFIG_LCD_MENU
static int power_key_pressed(u32 reg)
{
-#if !CONFIG_IS_ENABLED(DM_I2C) /* TODO(maintainer): Convert to driver model */
- struct pmic *pmic;
+ struct udevice *dev;
+ int ret;
u32 status;
u32 mask;
- pmic = pmic_get(KEY_PWR_PMIC_NAME);
- if (!pmic) {
- printf("%s: Not found\n", KEY_PWR_PMIC_NAME);
+ if (IS_ENABLED(CONFIG_TARGET_TRATS))
+ ret = pmic_get("max8997-pmic", &dev);
+ else if (IS_ENABLED(CONFIG_TARGET_TRATS2))
+ ret = pmic_get("max77686-pmic", &dev);
+ else if (IS_ENABLED(CONFIG_TARGET_S5PC210_UNIVERSAL))
+ ret = pmic_get("max8998-pmic", &dev);
+ else
return 0;
- }
- if (pmic_probe(pmic))
- return 0;
+ if (ret)
+ return ret;
if (reg == KEY_PWR_STATUS_REG)
mask = KEY_PWR_STATUS_MASK;
else
mask = KEY_PWR_INTERRUPT_MASK;
- if (pmic_reg_read(pmic, reg, &status))
- return 0;
+ status = pmic_reg_read(dev, reg);
+ if (status < 0)
+ return status;
return !!(status & mask);
-#else
- return 0;
-#endif
}
static int key_pressed(int key)