| From 9f25fdf13f3192ac91c29d30beaa48a08d27d371 Mon Sep 17 00:00:00 2001 |
| From: Paul Walmsley <pwalmsley@nvidia.com> |
| Date: Tue, 26 Nov 2013 16:49:38 -0800 |
| Subject: ARM: shmobile: mackerel: clk_round_rate() can return a zero to |
| indicate an 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. |
| |
| 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> |
| (cherry picked from commit 90d423faa0ed53cfda9f12d119f6938dd1ab515d) |
| (Queued by Simon Horman for v3.14 but not yet in Linus's tree) |
| Signed-off-by: Simon Horman <horms+renesas@verge.net.au> |
| --- |
| arch/arm/mach-shmobile/board-mackerel.c | 4 ++-- |
| 1 file changed, 2 insertions(+), 2 deletions(-) |
| |
| diff --git a/arch/arm/mach-shmobile/board-mackerel.c b/arch/arm/mach-shmobile/board-mackerel.c |
| index af06753eb809..d90d2f11071b 100644 |
| --- a/arch/arm/mach-shmobile/board-mackerel.c |
| +++ b/arch/arm/mach-shmobile/board-mackerel.c |
| @@ -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; |
| } |
| |
| -- |
| 1.8.5.rc3 |
| |