Patchwork [U-Boot,v5,05/26] pmic: Introduce power_init_board() method at ./lib/board.c file

login
register
mail settings
Submitter Łukasz Majewski
Date Nov. 5, 2012, 5:28 p.m.
Message ID <1352136508-14198-6-git-send-email-l.majewski@samsung.com>
Download mbox | patch
Permalink /patch/197230/
State Superseded
Delegated to: Minkyu Kang
Headers show

Comments

Łukasz Majewski - Nov. 5, 2012, 5:28 p.m.
It is necessary to introduce a new system wide function- power_init_board()

It turns out, that power initialization must be done as early as possible.
In the case of PMIC framework redesign, which aims to support multiple
instances of PMIC devices the initialization shall be performed just
after malloc configuration.

The power_init_board function is a weak function with default implementation.

Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
---
Changes for v2:
- None
Changes for v3:
- rename power_board_init to power_init_board
- power_init_board() defined as __weak function with default implementation
- CONFIG_POWER_INIT flag removed since it is not needed
Changes for v4:
- None
Changes for v5:
- None
---
 arch/arm/lib/board.c |    8 ++++++++
 1 files changed, 8 insertions(+), 0 deletions(-)

Patch

diff --git a/arch/arm/lib/board.c b/arch/arm/lib/board.c
index 92cad9a..22a4d9c 100644
--- a/arch/arm/lib/board.c
+++ b/arch/arm/lib/board.c
@@ -224,6 +224,13 @@  int __arch_cpu_init(void)
 int arch_cpu_init(void)
 	__attribute__((weak, alias("__arch_cpu_init")));
 
+int __power_init_board(void)
+{
+	return 0;
+}
+int power_init_board(void)
+	__attribute__((weak, alias("__power_init_board")));
+
 init_fnc_t *init_sequence[] = {
 	arch_cpu_init,		/* basic arch cpu dependent setup */
 
@@ -525,6 +532,7 @@  void board_init_r(gd_t *id, ulong dest_addr)
 #ifdef CONFIG_ARCH_EARLY_INIT_R
 	arch_early_init_r();
 #endif
+	power_init_board();
 
 #if !defined(CONFIG_SYS_NO_FLASH)
 	puts("Flash: ");