[U-Boot] [PATCH 13/19] samsung: misc: power_key_pressed: add support to dm pmic framework

Przemyslaw Marczak p.marczak at samsung.com
Wed Oct 8 22:48:49 CEST 2014


In case of two pmic frameworks availability - enable support of both,
since the new pmic framework is not fully finished and some boards still
supports only the old framework.

Signed-off-by: Przemyslaw Marczak <p.marczak at samsung.com>
---
 board/samsung/common/misc.c | 21 ++++++++++++++++++---
 1 file changed, 18 insertions(+), 3 deletions(-)

diff --git a/board/samsung/common/misc.c b/board/samsung/common/misc.c
index 4538ac7..94308a9 100644
--- a/board/samsung/common/misc.c
+++ b/board/samsung/common/misc.c
@@ -93,12 +93,13 @@ void set_board_info(void)
 }
 #endif /* CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG */
 
-#ifdef CONFIG_LCD_MENU
+#if defined(CONFIG_LCD_MENU)
 static int power_key_pressed(u32 reg)
 {
+	unsigned status;
+	unsigned mask;
+#if defined(CONFIG_POWER)
 	struct pmic *pmic;
-	u32 status;
-	u32 mask;
 
 	pmic = pmic_get(KEY_PWR_PMIC_NAME);
 	if (!pmic) {
@@ -108,7 +109,21 @@ static int power_key_pressed(u32 reg)
 
 	if (pmic_probe(pmic))
 		return 0;
+#elif defined(CONFIG_DM_PMIC)
+	struct udevice *pmic;
 
+	pmic = pmic_get_by_name(UCLASS_PMIC, KEY_PWR_PMIC_NAME);
+
+	if (!pmic) {
+		printf("%s: Not found\n", KEY_PWR_PMIC_NAME);
+		return 0;
+	}
+
+	if (pmic_probe(pmic, NULL))
+		return 0;
+#else
+#error one of: CONFIG_DM_PMIC or CONFIG_POWER must be defined!
+#endif
 	if (reg == KEY_PWR_STATUS_REG)
 		mask = KEY_PWR_STATUS_MASK;
 	else
-- 
1.9.1



More information about the U-Boot mailing list