Skip to content

Commit

Permalink
clk: meson: check pll rate param table before using it
Browse files Browse the repository at this point in the history
Make sure the rate param table is available before using it.
Some read-only plls don't provide it, which is ok since the
table is not used by read-only clocks. R/W clocks are supposed
to provide it, but it does not hurt check it.

Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
  • Loading branch information
Jerome Brunet committed Feb 12, 2018
1 parent 7928b2c commit 840e1a7
Showing 1 changed file with 10 additions and 0 deletions.
10 changes: 10 additions & 0 deletions drivers/clk/meson/clk-pll.c
Original file line number Diff line number Diff line change
Expand Up @@ -94,6 +94,13 @@ static long meson_clk_pll_round_rate(struct clk_hw *hw, unsigned long rate,
const struct pll_rate_table *rate_table = pll->rate_table;
int i;

/*
* if the table is missing, just return the current rate
* since we don't have the other available frequencies
*/
if (!rate_table)
return meson_clk_pll_recalc_rate(hw, *parent_rate);

for (i = 0; i < pll->rate_count; i++) {
if (rate <= rate_table[i].rate)
return rate_table[i].rate;
Expand All @@ -109,6 +116,9 @@ static const struct pll_rate_table *meson_clk_get_pll_settings(struct meson_clk_
const struct pll_rate_table *rate_table = pll->rate_table;
int i;

if (!rate_table)
return NULL;

for (i = 0; i < pll->rate_count; i++) {
if (rate == rate_table[i].rate)
return &rate_table[i];
Expand Down

0 comments on commit 840e1a7

Please sign in to comment.