hwmon: Provide dtt_init()
PATCH 1/1 hwmon: Provide dtt_init()
Our boards rely on dtt for initialization of fan hardware. dtt_init() was implemented to be called form board specific code.
Signed-off-by Dirk Eibach <[email protected]>
--- common/cmd_dtt.c | 42 +++++++++++++++++++++++++++++++++--------- include/dtt.h | 1 + 2 files changed, 34 insertions(+), 9 deletions(-)
common/cmd_dtt.c +33 -9
@@ -30,6 +30,36 @@static unsigned long sensor_initialized; +static void _initialize_dtt (void ) +{ +int i; +unsigned char sensors[] =CONFIG_DTT_SENSORS ; + +for (i =0 ; i <sizeof (sensors); i++) { +if ((sensor_initialized & (1 << i)) ==0 ) { +if (dtt_init_one (sensors[i]) !=0 ) { +printf ("DTT%d: Failed init!\n" , i); +continue ; + } + sensor_initialized |= (1 << i); + } + } +} + +void dtt_init (void ) +{ +int old_bus; + +/* switch to correct I2C bus */ + old_bus =I2C_GET_BUS (); +I2C_SET_BUS (CONFIG_SYS_DTT_BUS_NUM ); + +_initialize_dtt (); + +/* switch back to original I2C bus */ +I2C_SET_BUS (old_bus); +} +int do_dtt (cmd_tbl_t * cmdtp,int flag,int argc,char *const argv[]) {int i;
@@ -42,20 +72,14 @@ int do_dtt (cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[]) old_bus =I2C_GET_BUS ();I2C_SET_BUS (CONFIG_SYS_DTT_BUS_NUM ); +_initialize_dtt (); +/* * Loop through sensors, read * temperature, and output it. */ -for (i =0 ; i <sizeof (sensors); i++) { -if ((sensor_initialized & (1 << i)) ==0 ) { -if (dtt_init_one (sensors[i]) !=0 ) { -printf ("DTT%d: Failed init!\n" , i); -continue ; - } - sensor_initialized |= (1 << i); - } +for (i =0 ; i <sizeof (sensors); i++)printf ("DTT%d: %i C\n" , i +1 ,dtt_get_temp (sensors[i])); - }/* switch back to original I2C bus */ I2C_SET_BUS (old_bus);
include/dtt.h +1 -0
@@ -52,6 +52,7 @@#endif #endif /* CONFIG_DTT_ADM1021 */ +extern void dtt_init (void );extern int dtt_init_one (int );extern int dtt_read (int sensor,int reg);extern int dtt_write (int sensor,int reg,int val);
Signature · 1 line
1.5.6.5
PATCH 1/1 hwmon: Provide dtt_init()
Hello Dirk,
Quoted 8 lines · Dirk Eibach
Our boards rely on dtt for initialization of fan hardware.
dtt_init()was implemented to be called form board specific code.Signed-off-by Dirk Eibach <[email protected]>--- common/cmd_dtt.c | 42 +++++++++++++++++++++++++++++++++--------- include/dtt.h | 1 + 2 files changed, 34 insertions(+), 9 deletions(-)
checkpatch clean, compiles clean and works on the enbw_cmc board, so:
Acked-by Heiko Schocher <[email protected]>
Tested-by Heiko Schocher <[email protected]>
bye,
Heiko
Signature · 2 lines
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Wolfgang Denk
AppliedPATCH 1/1 hwmon: Provide dtt_init()
In reply to Dirk EibachDear Dirk Eibach,
Quoted 8 lines · In message <[email protected]> you wrote:
Our boards rely on dtt for initialization of fan hardware.
dtt_init()was implemented to be called form board specific code.Signed-off-by Dirk Eibach <[email protected]>--- common/cmd_dtt.c | 42 +++++++++++++++++++++++++++++++++--------- include/dtt.h | 1 + 2 files changed, 34 insertions(+), 9 deletions(-)
Applied, thanks.
Best regards,
Wolfgang Denk
Signature · 6 lines
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
Die Freiheit des Menschen liegt nicht darin, dass er tun kann, was er
will, sondern darin, dass er nicht tun muss, was er nicht will.
-- Jean-Jacques Rousseau