ARM: shmobile: mackerel: clk_round_rate() can return a zero to indicate an error
authorPaul Walmsley <pwalmsley@nvidia.com>
Wed, 27 Nov 2013 00:49:38 +0000 (16:49 -0800)
committerSimon Horman <horms+renesas@verge.net.au>
Tue, 10 Dec 2013 08:24:28 +0000 (17:24 +0900)
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.

Signed-off-by: Paul Walmsley <pwalmsley@nvidia.com>
Acked-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
arch/arm/mach-shmobile/board-mackerel.c

index af06753..d90d2f1 100644 (file)
@@ -548,9 +548,9 @@ static void __init hdmi_init_pm_clock(void)
                 clk_get_rate(&sh7372_pllc2_clk));
 
        rate = clk_round_rate(&sh7372_pllc2_clk, 594000000);
-       if (rate < 0) {
+       if (rate <= 0) {
                pr_err("Cannot get suitable rate: %ld\n", rate);
-               ret = rate;
+               ret = -EINVAL;
                goto out;
        }