thermal: ti-soc-thermal: clk_round_rate() can return a zero upon error
authorPaul Walmsley <pwalmsley@nvidia.com>
Tue, 10 Dec 2013 02:09:22 +0000 (18:09 -0800)
committerEduardo Valentin <edubezval@gmail.com>
Tue, 6 May 2014 18:35:19 +0000 (14:35 -0400)
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>
Signed-off-by: Eduardo Valentin <edubezval@gmail.com>
drivers/thermal/ti-soc-thermal/ti-bandgap.c

index 3ab12ee359b79325751d6d1671dda2850ec8b019..a1271b55103aceaa8fe80663e41e3447a070d9dc 100644 (file)
@@ -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;