thermal: ti-soc-thermal: clk_round_rate() can return a zero upon error
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>
This commit is contained in:
Родитель
9477165ec5
Коммит
c68789e534
|
@ -1248,7 +1248,7 @@ int ti_bandgap_probe(struct platform_device *pdev)
|
||||||
clk_rate = clk_round_rate(bgp->div_clk,
|
clk_rate = clk_round_rate(bgp->div_clk,
|
||||||
bgp->conf->sensors[0].ts_data->max_freq);
|
bgp->conf->sensors[0].ts_data->max_freq);
|
||||||
if (clk_rate < bgp->conf->sensors[0].ts_data->min_freq ||
|
if (clk_rate < bgp->conf->sensors[0].ts_data->min_freq ||
|
||||||
clk_rate == 0xffffffff) {
|
clk_rate <= 0) {
|
||||||
ret = -ENODEV;
|
ret = -ENODEV;
|
||||||
dev_err(&pdev->dev, "wrong clock rate (%d)\n", clk_rate);
|
dev_err(&pdev->dev, "wrong clock rate (%d)\n", clk_rate);
|
||||||
goto put_clks;
|
goto put_clks;
|
||||||
|
|
Загрузка…
Ссылка в новой задаче