[U-Boot] [PATCH 1/7 v4] i2c, dtt: move dtt_init () to board_init_r ()
Heiko Schocher
hs at denx.de
Wed Feb 25 08:08:12 CET 2009
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 at 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
--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
More information about the U-Boot
mailing list