From 899a52821515d79f9e4e525fd3098bdb574062ed Mon Sep 17 00:00:00 2001
From: Przemyslaw Marczak
Date: Tue, 17 Feb 2015 12:24:11 +0100
Subject: dfu: samsung: move call to set_dfu_alt_info() to dfu common code
This common call can be used for setting proper entities based
on dfu command arguments.
The config: CONFIG_SET_DFU_ALT_INFO, was used only for few configs,
and now it is common.
The board file should implement:
- set_dfu_alt_info() function
Signed-off-by: Przemyslaw Marczak
Tested-by: Lukasz Majewski
[Test HW: Odroid U3 (Exynos 4412)]
---
board/samsung/common/board.c | 3 ---
board/samsung/common/misc.c | 6 +++---
2 files changed, 3 insertions(+), 6 deletions(-)
(limited to 'board/samsung')
diff --git a/board/samsung/common/board.c b/board/samsung/common/board.c
index da2245f..6c7f59b 100644
--- a/board/samsung/common/board.c
+++ b/board/samsung/common/board.c
@@ -338,9 +338,6 @@ int arch_early_init_r(void)
#ifdef CONFIG_MISC_INIT_R
int misc_init_r(void)
{
-#ifdef CONFIG_SET_DFU_ALT_INFO
- set_dfu_alt_info();
-#endif
#ifdef CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG
set_board_info();
#endif
diff --git a/board/samsung/common/misc.c b/board/samsung/common/misc.c
index 4538ac7..1a77c82 100644
--- a/board/samsung/common/misc.c
+++ b/board/samsung/common/misc.c
@@ -22,7 +22,7 @@
DECLARE_GLOBAL_DATA_PTR;
#ifdef CONFIG_SET_DFU_ALT_INFO
-void set_dfu_alt_info(void)
+void set_dfu_alt_info(char *interface, char *devstr)
{
size_t buf_size = CONFIG_SET_DFU_ALT_BUF_LEN;
ALLOC_CACHE_ALIGN_BUFFER(char, buf, buf_size);
@@ -34,13 +34,13 @@ void set_dfu_alt_info(void)
puts("DFU alt info setting: ");
- alt_setting = get_dfu_alt_boot();
+ alt_setting = get_dfu_alt_boot(interface, devstr);
if (alt_setting) {
setenv("dfu_alt_boot", alt_setting);
offset = snprintf(buf, buf_size, "%s", alt_setting);
}
- alt_setting = get_dfu_alt_system();
+ alt_setting = get_dfu_alt_system(interface, devstr);
if (alt_setting) {
if (offset)
alt_sep = ";";
--
cgit v1.1
From 2474b7f1499e81b68cf1b4610dd7ee2cd0c9ba88 Mon Sep 17 00:00:00 2001
From: Inha Song
Date: Tue, 17 Feb 2015 12:24:12 +0100
Subject: odroid: adjust get_dfu_alt_*() functions to new declarations
This change is required after updated dfu_alt_system/boot declarations.
Signed-off-by: Inha Song
Tested-by: Lukasz Majewski
[Test HW: Odroid U3 (Exynos 4412)]
Acked-by: Minkyu Kang
---
board/samsung/odroid/odroid.c | 31 +++++++++++++++++--------------
1 file changed, 17 insertions(+), 14 deletions(-)
(limited to 'board/samsung')
diff --git a/board/samsung/odroid/odroid.c b/board/samsung/odroid/odroid.c
index bff6ac9..6f4b8ca 100644
--- a/board/samsung/odroid/odroid.c
+++ b/board/samsung/odroid/odroid.c
@@ -15,6 +15,7 @@
#include
#include
#include
+#include
#include
#include
#include
@@ -61,27 +62,29 @@ const char *get_board_type(void)
#endif
#ifdef CONFIG_SET_DFU_ALT_INFO
-char *get_dfu_alt_system(void)
+char *get_dfu_alt_system(char *interface, char *devstr)
{
return getenv("dfu_alt_system");
}
-char *get_dfu_alt_boot(void)
+char *get_dfu_alt_boot(char *interface, char *devstr)
{
+ struct mmc *mmc;
char *alt_boot;
+ int dev_num;
+
+ dev_num = simple_strtoul(devstr, NULL, 10);
+
+ mmc = find_mmc_device(dev_num);
+ if (!mmc)
+ return NULL;
+
+ if (mmc_init(mmc))
+ return NULL;
+
+ alt_boot = IS_SD(mmc) ? CONFIG_DFU_ALT_BOOT_SD :
+ CONFIG_DFU_ALT_BOOT_EMMC;
- switch (get_boot_mode()) {
- case BOOT_MODE_SD:
- alt_boot = CONFIG_DFU_ALT_BOOT_SD;
- break;
- case BOOT_MODE_EMMC:
- case BOOT_MODE_EMMC_SD:
- alt_boot = CONFIG_DFU_ALT_BOOT_EMMC;
- break;
- default:
- alt_boot = NULL;
- break;
- }
return alt_boot;
}
#endif
--
cgit v1.1