Skip to content

Commit

Permalink
raspberrypi-cpufreq: Only report integer pll divisor frequencies
Browse files Browse the repository at this point in the history
  • Loading branch information
popcornmix committed Jan 6, 2020
1 parent 2242678 commit a2ddc7b
Showing 1 changed file with 6 additions and 1 deletion.
7 changes: 6 additions & 1 deletion drivers/cpufreq/raspberrypi-cpufreq.c
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
#include <linux/clk.h>
#include <linux/cpu.h>
#include <linux/cpufreq.h>
#include <linux/math64.h>
#include <linux/module.h>
#include <linux/platform_device.h>
#include <linux/pm_opp.h>
Expand All @@ -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);
Expand All @@ -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;
Expand Down

0 comments on commit a2ddc7b

Please sign in to comment.