]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
clk: tegra: periph: Fix error handling and resolve unsigned compare warning
authorPei Xiao <xiaopei01@kylinos.cn>
Wed, 9 Jul 2025 07:37:13 +0000 (15:37 +0800)
committerStephen Boyd <sboyd@kernel.org>
Thu, 24 Jul 2025 22:29:16 +0000 (15:29 -0700)
./drivers/clk/tegra/clk-periph.c:59:5-9: WARNING:
Unsigned expression compared with zero: rate < 0

The unsigned long 'rate' variable caused:
- Incorrect handling of negative errors
- Compile warning: "Unsigned expression compared with zero"

Fix by changing to long type and adding req->rate cast.

Signed-off-by: Pei Xiao <xiaopei01@kylinos.cn>
Link: https://lore.kernel.org/r/79c7f01e29876c612e90d6d0157fb1572ca8b3fb.1752046270.git.xiaopei01@kylinos.cn
Acked-by: Thierry Reding <treding@nvidia.com>
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
drivers/clk/tegra/clk-periph.c

index 0626650a7011cc877c084fd93ba961c6fbd311cc..c9fc52a36fce9c64120b9c036456050c053247fb 100644 (file)
@@ -51,7 +51,7 @@ static int clk_periph_determine_rate(struct clk_hw *hw,
        struct tegra_clk_periph *periph = to_clk_periph(hw);
        const struct clk_ops *div_ops = periph->div_ops;
        struct clk_hw *div_hw = &periph->divider.hw;
-       unsigned long rate;
+       long rate;
 
        __clk_hw_set_clk(div_hw, hw);
 
@@ -59,7 +59,7 @@ static int clk_periph_determine_rate(struct clk_hw *hw,
        if (rate < 0)
                return rate;
 
-       req->rate = rate;
+       req->rate = (unsigned long)rate;
        return 0;
 }