public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [U-Boot] [PATCH] hwmon: Provide dtt_init()
@ 2011-10-14  9:23 Dirk Eibach
  2011-10-19  7:59 ` Heiko Schocher
  2011-10-21 23:22 ` Wolfgang Denk
  0 siblings, 2 replies; 3+ messages in thread
From: Dirk Eibach @ 2011-10-14  9:23 UTC (permalink / raw)
  To: u-boot

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 <eibach@gdsys.de>
---
 common/cmd_dtt.c |   42 +++++++++++++++++++++++++++++++++---------
 include/dtt.h    |    1 +
 2 files changed, 34 insertions(+), 9 deletions(-)

diff --git a/common/cmd_dtt.c b/common/cmd_dtt.c
index 5bba12d..cd94423 100644
--- a/common/cmd_dtt.c
+++ b/common/cmd_dtt.c
@@ -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);
diff --git a/include/dtt.h b/include/dtt.h
index 9e6c08c..6d5534d 100644
--- a/include/dtt.h
+++ b/include/dtt.h
@@ -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);
-- 
1.5.6.5

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* [U-Boot] [PATCH] hwmon: Provide dtt_init()
  2011-10-14  9:23 [U-Boot] [PATCH] hwmon: Provide dtt_init() Dirk Eibach
@ 2011-10-19  7:59 ` Heiko Schocher
  2011-10-21 23:22 ` Wolfgang Denk
  1 sibling, 0 replies; 3+ messages in thread
From: Heiko Schocher @ 2011-10-19  7:59 UTC (permalink / raw)
  To: u-boot

Hello Dirk,

Dirk Eibach 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 <eibach@gdsys.de>
> ---
>  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 <hs@denx.de>
Tested-by: Heiko Schocher <hs@denx.de>

bye,
Heiko
-- 
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [U-Boot] [PATCH] hwmon: Provide dtt_init()
  2011-10-14  9:23 [U-Boot] [PATCH] hwmon: Provide dtt_init() Dirk Eibach
  2011-10-19  7:59 ` Heiko Schocher
@ 2011-10-21 23:22 ` Wolfgang Denk
  1 sibling, 0 replies; 3+ messages in thread
From: Wolfgang Denk @ 2011-10-21 23:22 UTC (permalink / raw)
  To: u-boot

Dear Dirk Eibach,

In message <1318584192-3472-1-git-send-email-eibach@gdsys.de> 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 <eibach@gdsys.de>
> ---
>  common/cmd_dtt.c |   42 +++++++++++++++++++++++++++++++++---------
>  include/dtt.h    |    1 +
>  2 files changed, 34 insertions(+), 9 deletions(-)

Applied, thanks.

Best regards,

Wolfgang Denk

-- 
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

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2011-10-21 23:22 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-10-14  9:23 [U-Boot] [PATCH] hwmon: Provide dtt_init() Dirk Eibach
2011-10-19  7:59 ` Heiko Schocher
2011-10-21 23:22 ` Wolfgang Denk

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox