
Hello Peter,
Peter Tyser wrote:
On Tue, 2009-02-24 at 11:30 +0100, Heiko Schocher wrote:
In case where a board not uses CONFIG_POST, it is not necessary to init the DTTs when running from flash.
Signed-off-by: Heiko Schocher hs@denx.de
lib_ppc/board.c | 5 ++++- 1 files changed, 4 insertions(+), 1 deletions(-)
diff --git a/lib_ppc/board.c b/lib_ppc/board.c index 3bcfb45..375b091 100644 --- a/lib_ppc/board.c +++ b/lib_ppc/board.c @@ -339,10 +339,10 @@ init_fnc_t *init_sequence[] = { #if defined(CONFIG_HARD_SPI) init_func_spi, #endif +#ifdef CONFIG_POST #if defined(CONFIG_DTT) /* Digital Thermometers and Thermostats */ dtt_init, #endif -#ifdef CONFIG_POST post_init_f, #endif INIT_FUNC_WATCHDOG_RESET @@ -1072,6 +1072,9 @@ void board_init_r (gd_t *id, ulong dest_addr)
WATCHDOG_RESET ();
+#if defined(CONFIG_DTT) && !defined(CONFIG_POST)
- dtt_init ();
+#endif #if defined(CONFIG_CMD_SCSI) WATCHDOG_RESET (); puts ("SCSI: ");
Is there a reason we can't just move the dtt_init() call to after relocation to RAM for both the cases with and without CONFIG_POST defined? If some POST relies on the temperature sensors being initialized it seems cleaner to change the POST to run after relocation than add more ifdefery to common code.
Ok, you are right, there is no reason (I searched for POST_ROM, and there is no test which uses i2c when running from flash, so dtt_init() can go completly to board_init_r ()
Unconditionally moving dtt_init() to after relocation would also allow dtt drivers to use global variables, etc (which it just so happens an lm90-type driver I'm working on requires:).
:-)
bye Heiko