Skip to content

Commit

Permalink
Merge tag 'devfreq-fixes-for-5.9-rc7' of git://git.kernel.org/pub/scm…
Browse files Browse the repository at this point in the history
…/linux/kernel/git/chanwoo/linux

Pull devfreq updates for 5.9-rc7 from Chanwoo Choi:

"1. Update devfreq core
  - Add missing timer type to devfreq_summary debugfs node.

 2. Fix devfreq device driver
  - Fix the exception handling about clock on tegra30-devfreq.c"

* tag 'devfreq-fixes-for-5.9-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/chanwoo/linux:
  PM / devfreq: tegra30: Disable clock on error in probe
  PM / devfreq: Add timer type to devfreq_summary debugfs
Rafael J. Wysocki committed Sep 25, 2020
2 parents ba4f184 + 6bf5607 commit 1b0e6e2
Showing 2 changed files with 11 additions and 4 deletions.
11 changes: 8 additions & 3 deletions drivers/devfreq/devfreq.c
Original file line number Diff line number Diff line change
@@ -1766,20 +1766,23 @@ static int devfreq_summary_show(struct seq_file *s, void *data)
struct devfreq *p_devfreq = NULL;
unsigned long cur_freq, min_freq, max_freq;
unsigned int polling_ms;
unsigned int timer;

seq_printf(s, "%-30s %-30s %-15s %10s %12s %12s %12s\n",
seq_printf(s, "%-30s %-30s %-15s %-10s %10s %12s %12s %12s\n",
"dev",
"parent_dev",
"governor",
"timer",
"polling_ms",
"cur_freq_Hz",
"min_freq_Hz",
"max_freq_Hz");
seq_printf(s, "%30s %30s %15s %10s %12s %12s %12s\n",
seq_printf(s, "%30s %30s %15s %10s %10s %12s %12s %12s\n",
"------------------------------",
"------------------------------",
"---------------",
"----------",
"----------",
"------------",
"------------",
"------------");
@@ -1803,13 +1806,15 @@ static int devfreq_summary_show(struct seq_file *s, void *data)
cur_freq = devfreq->previous_freq;
get_freq_range(devfreq, &min_freq, &max_freq);
polling_ms = devfreq->profile->polling_ms;
timer = devfreq->profile->timer;
mutex_unlock(&devfreq->lock);

seq_printf(s,
"%-30s %-30s %-15s %10d %12ld %12ld %12ld\n",
"%-30s %-30s %-15s %-10s %10d %12ld %12ld %12ld\n",
dev_name(&devfreq->dev),
p_devfreq ? dev_name(&p_devfreq->dev) : "null",
devfreq->governor_name,
polling_ms ? timer_name[timer] : "null",
polling_ms,
cur_freq,
min_freq,
4 changes: 3 additions & 1 deletion drivers/devfreq/tegra30-devfreq.c
Original file line number Diff line number Diff line change
@@ -836,7 +836,8 @@ static int tegra_devfreq_probe(struct platform_device *pdev)
rate = clk_round_rate(tegra->emc_clock, ULONG_MAX);
if (rate < 0) {
dev_err(&pdev->dev, "Failed to round clock rate: %ld\n", rate);
return rate;
err = rate;
goto disable_clk;
}

tegra->max_freq = rate / KHZ;
@@ -897,6 +898,7 @@ static int tegra_devfreq_probe(struct platform_device *pdev)
dev_pm_opp_remove_all_dynamic(&pdev->dev);

reset_control_reset(tegra->reset);
disable_clk:
clk_disable_unprepare(tegra->clock);

return err;

0 comments on commit 1b0e6e2

Please sign in to comment.