From: popcornmix Date: Fri, 13 Sep 2019 12:45:11 +0000 (+0100) Subject: raspberrypi-cpufreq: Only report integer pll divisor frequencies X-Git-Tag: submit/tizen/20200402.094258~390 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=46352d693e956acf542f74dda5ccd04885c4b3cd;p=platform%2Fkernel%2Flinux-rpi.git raspberrypi-cpufreq: Only report integer pll divisor frequencies --- diff --git a/drivers/cpufreq/raspberrypi-cpufreq.c b/drivers/cpufreq/raspberrypi-cpufreq.c index 2bc7d97..8bcfab2 100644 --- a/drivers/cpufreq/raspberrypi-cpufreq.c +++ b/drivers/cpufreq/raspberrypi-cpufreq.c @@ -8,6 +8,7 @@ #include #include #include +#include #include #include #include @@ -22,6 +23,7 @@ static int raspberrypi_cpufreq_probe(struct platform_device *pdev) unsigned long min, max; unsigned long rate; struct clk *clk; + int div; int ret; cpu_dev = get_cpu_device(0); @@ -44,7 +46,10 @@ static int raspberrypi_cpufreq_probe(struct platform_device *pdev) max = roundup(clk_round_rate(clk, ULONG_MAX), RASPBERRYPI_FREQ_INTERVAL); clk_put(clk); - for (rate = min; rate <= max; rate += RASPBERRYPI_FREQ_INTERVAL) { + for (div = 2; ; div++) { + rate = div_u64((u64)max * 2, div); + if (rate < min) + break; ret = dev_pm_opp_add(cpu_dev, rate, 0); if (ret) goto remove_opp;