• Bartosz Golaszewski's avatar
    ARM: davinci: da850: fix da850_set_pll0rate() · b4088173
    Bartosz Golaszewski authored
    This function is confusing - its second argument is an index to the
    freq table, not the requested clock rate in Hz, but it's used as the
    set_rate callback for the pll0 clock. It leads to an oops when the
    caller doesn't know the internals and passes the rate in Hz as
    argument instead of the cpufreq index since this argument isn't bounds
    checked either.
    
    Fix it by iterating over the array of supported frequencies and
    selecting a one that matches or returning -EINVAL for unsupported
    rates.
    
    Also: update the davinci cpufreq driver. It's the only user of this
    clock and currently it passes the cpufreq table index to
    clk_set_rate(), which is confusing. Make it pass the requested clock
    rate in Hz.
    Signed-off-by: default avatarBartosz Golaszewski <bgolaszewski@baylibre.com>
    Acked-by: default avatarViresh Kumar <viresh.kumar@linaro.org>
    [nsekhar@ti.com: commit headline update]
    Signed-off-by: default avatarSekhar Nori <nsekhar@ti.com>
    b4088173
da850.c 35.6 KB