All of lore.kernel.org
 help / color / mirror / Atom feed
From: Eduardo Valentin <edubezval@gmail.com>
To: Zhang Rui <rui.zhang@intel.com>
Cc: Punit Agrawal <punit.agrawal@arm.com>,
	linux-pm@vger.kernel.org, devicetree@vger.kernel.org
Subject: Re: [PATCH] thermal: Fix cdev registration with THERMAL_NO_LIMIT on 64bit
Date: Wed, 10 Dec 2014 10:42:44 -0400	[thread overview]
Message-ID: <20141210144242.GB3232@developer> (raw)
In-Reply-To: <1418176657.12435.40.camel@rzhang1-toshiba>

[-- Attachment #1: Type: text/plain, Size: 2118 bytes --]

On Wed, Dec 10, 2014 at 09:57:37AM +0800, Zhang Rui wrote:
> On Tue, 2014-12-09 at 12:22 +0000, Punit Agrawal wrote:
> > The size of unsigned long varies between 32 and 64 bit systems while
> > the size of phandle arguments is always 32 bits per parameter.
> > 
> > On 64-bit systems, cooling devices registered via of-thermal apis fail
> > to bind when the min/max cooling state is specified as
> > THERMAL_NO_LIMIT (-1UL) as there is a mis-match between the value read
> > from the device tree (32bit) and the pre-processor define (64bit).
> > 
> > As we're unlikely to need cooling states larger than 32 bits, and for
> > consistency with the size of phandle arguments, explicitly limit
> > THERMAL_NO_LIMIT to 32 bits.
> > 
> > Signed-off-by: Punit Agrawal <punit.agrawal@arm.com>
> > ---
> >  include/dt-bindings/thermal/thermal.h | 2 +-
> >  include/linux/thermal.h               | 2 +-
> >  2 files changed, 2 insertions(+), 2 deletions(-)
> > 
> > diff --git a/include/dt-bindings/thermal/thermal.h b/include/dt-bindings/thermal/thermal.h
> > index 59822a9..b5e6b00 100644
> > --- a/include/dt-bindings/thermal/thermal.h
> > +++ b/include/dt-bindings/thermal/thermal.h
> > @@ -11,7 +11,7 @@
> >  #define _DT_BINDINGS_THERMAL_THERMAL_H
> >  
> >  /* On cooling devices upper and lower limits */
> > -#define THERMAL_NO_LIMIT		(-1UL)
> > +#define THERMAL_NO_LIMIT		(~0)
> >  
> I'm okay with the other change, so Eduardo, what do you think of this?

Adding to my fixes branch.


Prunit, thanks for spotting and fixing this issue.

> 
> thanks,
> rui
> >  #endif
> >  
> > diff --git a/include/linux/thermal.h b/include/linux/thermal.h
> > index ef90838..005586f 100644
> > --- a/include/linux/thermal.h
> > +++ b/include/linux/thermal.h
> > @@ -38,7 +38,7 @@
> >  #define THERMAL_CSTATE_INVALID -1UL
> >  
> >  /* No upper/lower limit requirement */
> > -#define THERMAL_NO_LIMIT	THERMAL_CSTATE_INVALID
> > +#define THERMAL_NO_LIMIT	((u32)~0)
> >  
> >  /* Unit conversion macros */
> >  #define KELVIN_TO_CELSIUS(t)	(long)(((long)t-2732 >= 0) ?	\
> 
> 

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 473 bytes --]

      reply	other threads:[~2014-12-10 14:42 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-12-09 12:22 [PATCH] thermal: Fix cdev registration with THERMAL_NO_LIMIT on 64bit Punit Agrawal
2014-12-10  1:57 ` Zhang Rui
2014-12-10 14:42   ` Eduardo Valentin [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20141210144242.GB3232@developer \
    --to=edubezval@gmail.com \
    --cc=devicetree@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=punit.agrawal@arm.com \
    --cc=rui.zhang@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.