[U-Boot] [PATCH 6/7 v5] TMU: Add TMU support in dtt command

Simon Glass sjg at chromium.org
Fri Jan 25 21:58:01 CET 2013


Hi Akshay,

On Thu, Jan 24, 2013 at 4:02 AM, Akshay Saraswat <akshay.s at samsung.com>wrote:

>  Hi Simon,
>
>
>
> If we create two versions of dtt_get_temp(), we have to declare
> unnecessarily few configs and their values like CONFIG_DTT_SENSORS and
> CONFIG_SYS_DTT_BUS_NUM when we can easily ignore them. That's why I thought
> of including TMU to dtt this way. I dont think we need both TMU and I2C bus
> sensors together anywhere. Please suggest which way is better.
>

(Sorry I am on holiday for a week so not very responsive. I get back next
Thurs)

The thing is that these two implementations share no code at all. I think
the way you have done it is good, I was just wondering whether it would be
better to have do_dtt_i2c() and do_dtt_tmu() as separate function. But I
suppose that is really not any better. The alternative would be to share
the same  do_dtt() function, with it avoiding the i2c code if
CONFIG_SYS_DTT_BUS_NUM is defined, and using a single sensor number 0 if
CONFIG_DTT_SENSORS is not defined. That could use much of the same code
(perhaps with a weak function for dtt_init_one(). But that is probably
trying too hard - if support for multiple TMU sensors is required in the
future we can worry about it then.

Sorry for the trouble.

Regards,
Simon

>
>
> Regards,
>
> Akshay
>
>
>
> ------- *Original Message* -------
>
> *Sender* : Simon Glass<sjg at chromium.org>
>
> *Date* : Jan 23, 2013 05:51 (GMT+09:00)
>
> *Title* : Re: [PATCH 6/7 v5] TMU: Add TMU support in dtt command
>
>
> Hi Akshay,
>
>
> On Mon, Jan 21, 2013 at 3:11 AM, Akshay Saraswat **wrote:
> > Add generic TMU support alongwith i2c sensors in dtt command
> > to enable temperature reading in cases where TMU is present
> > instead of i2c sensors.
> >
> > Signed-off-by: Akshay Saraswat **
> > ---
> > Changes since v4:
> >         - Removed tmu command and added to dtt.
> >
> >  common/cmd_dtt.c |   19 +++++++++++++++++++
> >  1 file changed, 19 insertions(+)
> >
> > diff --git a/common/cmd_dtt.c b/common/cmd_dtt.c
> > index cd94423..715f4ba 100644
> > --- a/common/cmd_dtt.c
> > +++ b/common/cmd_dtt.c
> > @@ -28,6 +28,20 @@
> >  #include **
> >  #include **
> >
> > +#if defined CONFIG_TMU_CMD_DTT
> > +#include **
> > +
> > +void dtt_get_temp(void)
> > +{
> > +       int cur_temp;
> > +
> > +       if (tmu_monitor(&cur_temp) == TMU_STATUS_INIT)
> > +               printf("TMU is in unknown state, temperature is invalid
> \n");
>
> puts()
>
> Should return an error result here so that do_dtt() returns 1.
>
> > +       else
> > +               printf("Current temperature: %u degrees Celsius \n",
> cur_temp);
> > +}
> > +
> > +#else
> >  static unsigned long sensor_initialized;
> >
> >  static void _initialize_dtt(void)
> > @@ -59,9 +73,13 @@ void dtt_init(void)
> >         /* switch back to original I2C bus */
> >         I2C_SET_BUS(old_bus);
> >  }
> > +#endif
> >
> >  int do_dtt (cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[])
> >  {
> > +#if defined CONFIG_TMU_CMD_DTT
> > +       dtt_get_temp();
> > +#else
>
> How about creating two versions of the dtt_get_temp() function: one
> with your code and one with the old code? Then you don't have an
> #ifdef here.
>
>
>
> >         int i;
> >         unsigned char sensors[] = CONFIG_DTT_SENSORS;
> >         int old_bus;
> > @@ -83,6 +101,7 @@ int do_dtt (cmd_tbl_t * cmdtp, int flag, int argc,
> char * const argv[])
> >
> >         /* switch back to original I2C bus */
> >         I2C_SET_BUS(old_bus);
> > +#endif
> >
> >         return 0;
> >  }      /* do_dtt() */
> > --
> > 1.7.9.5
> >
>
> Regards,
> Simon
>
>
>
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: image/gif
Size: 14036 bytes
Desc: not available
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20130126/da5ca19f/attachment.gif>


More information about the U-Boot mailing list