diff mbox

thermal: ti-soc-thermal: clk_round_rate() can return a zero upon error

Message ID alpine.DEB.2.02.1312091803260.4127@tamien (mailing list archive)
State Accepted
Delegated to: Eduardo Valentin
Headers show

Commit Message

Paul Walmsley Dec. 10, 2013, 2:09 a.m. UTC
Treat both negative and zero return values from clk_round_rate() as
errors.  This is needed since subsequent patches will convert
clk_round_rate()'s return value to be an unsigned type, rather than a
signed type, since some clock sources can generate rates higher than
(2^31)-1 Hz.

Eventually, when calling clk_round_rate(), only a return value of zero
will be considered a error.  All other values will be considered valid
rates.  The comparison against values less than 0 is kept to preserve
the correct behavior in the meantime.

This patch also gets rid of a comparison between unsigned and signed 
values; a side-benefit.

Signed-off-by: Paul Walmsley <pwalmsley@nvidia.com>
Cc: Eduardo Valentin <eduardo.valentin@ti.com>
Cc: Zhang Rui <rui.zhang@intel.com>
---
Applies on v3.13-rc3.  See also:

http://marc.info/?l=linux-arm-kernel&m=138542591313620&w=2

  drivers/thermal/ti-soc-thermal/ti-bandgap.c |    2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)

--
To unsubscribe from this list: send the line "unsubscribe linux-pm" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Comments

Zhang, Rui Jan. 2, 2014, 2:51 a.m. UTC | #1
On Mon, 2013-12-09 at 18:09 -0800, Paul Walmsley wrote:
> Treat both negative and zero return values from clk_round_rate() as
> errors.  This is needed since subsequent patches will convert
> clk_round_rate()'s return value to be an unsigned type, rather than a
> signed type, since some clock sources can generate rates higher than
> (2^31)-1 Hz.
> 
> Eventually, when calling clk_round_rate(), only a return value of zero
> will be considered a error.  All other values will be considered valid
> rates.  The comparison against values less than 0 is kept to preserve
> the correct behavior in the meantime.
> 
> This patch also gets rid of a comparison between unsigned and signed 
> values; a side-benefit.
> 
> Signed-off-by: Paul Walmsley <pwalmsley@nvidia.com>
> Cc: Eduardo Valentin <eduardo.valentin@ti.com>
> Cc: Zhang Rui <rui.zhang@intel.com>

Eduardo,

will you take this patch?

thanks,
rui
> ---
> Applies on v3.13-rc3.  See also:
> 
> http://marc.info/?l=linux-arm-kernel&m=138542591313620&w=2
> 
>   drivers/thermal/ti-soc-thermal/ti-bandgap.c |    2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/thermal/ti-soc-thermal/ti-bandgap.c b/drivers/thermal/ti-soc-thermal/ti-bandgap.c
> index 74c0e3474d6e..8fe46dbc0c6f 100644
> --- a/drivers/thermal/ti-soc-thermal/ti-bandgap.c
> +++ b/drivers/thermal/ti-soc-thermal/ti-bandgap.c
> @@ -1248,7 +1248,7 @@ int ti_bandgap_probe(struct platform_device *pdev)
>   	clk_rate = clk_round_rate(bgp->div_clk,
>   				  bgp->conf->sensors[0].ts_data->max_freq);
>   	if (clk_rate < bgp->conf->sensors[0].ts_data->min_freq ||
> -	    clk_rate == 0xffffffff) {
> +	    clk_rate <= 0) {
>   		ret = -ENODEV;
>   		dev_err(&pdev->dev, "wrong clock rate (%d)\n", clk_rate);
>   		goto put_clks;


--
To unsubscribe from this list: send the line "unsubscribe linux-pm" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/drivers/thermal/ti-soc-thermal/ti-bandgap.c b/drivers/thermal/ti-soc-thermal/ti-bandgap.c
index 74c0e3474d6e..8fe46dbc0c6f 100644
--- a/drivers/thermal/ti-soc-thermal/ti-bandgap.c
+++ b/drivers/thermal/ti-soc-thermal/ti-bandgap.c
@@ -1248,7 +1248,7 @@  int ti_bandgap_probe(struct platform_device *pdev)
  	clk_rate = clk_round_rate(bgp->div_clk,
  				  bgp->conf->sensors[0].ts_data->max_freq);
  	if (clk_rate < bgp->conf->sensors[0].ts_data->min_freq ||
-	    clk_rate == 0xffffffff) {
+	    clk_rate <= 0) {
  		ret = -ENODEV;
  		dev_err(&pdev->dev, "wrong clock rate (%d)\n", clk_rate);
  		goto put_clks;