[RESEND PATCH V6 1/4] cpufreq: exynos: Add cpufreq driver for exynos5440

Nishanth Menon nm at ti.com
Thu Apr 11 19:23:52 EDT 2013


Hi,
On Mon, Apr 8, 2013 at 4:57 AM, Amit Daniel Kachhap
<amit.daniel at samsung.com> wrote:
> +
> +static int init_div_table(void)
> +{
> +       struct cpufreq_frequency_table *freq_tbl = dvfs_info->freq_table;
> +       unsigned int tmp, clk_div, ema_div, freq, volt_id;
> +       int i = 0;
> +       struct opp *opp;
> +
> +       for (i = 0; freq_tbl[i].frequency != CPUFREQ_TABLE_END; i++) {
> +
> +               opp = opp_find_freq_exact(dvfs_info->dev,
> +                                       freq_tbl[i].frequency * 1000, true);
> +               if (IS_ERR(opp)) {
> +                       dev_err(dvfs_info->dev,
> +                               "failed to find valid OPP for %u KHZ\n",
> +                               freq_tbl[i].frequency);
> +                       return PTR_ERR(opp);
> +               }
please use RCU read locks.

> +
> +               freq = freq_tbl[i].frequency / 1000; /* In MHZ */
> +               clk_div = ((freq / CPU_DIV_FREQ_MAX) & P0_7_CPUCLKDEV_MASK)
> +                                       << P0_7_CPUCLKDEV_SHIFT;
> +               clk_div |= ((freq / CPU_ATB_FREQ_MAX) & P0_7_ATBCLKDEV_MASK)
> +                                       << P0_7_ATBCLKDEV_SHIFT;
> +               clk_div |= ((freq / CPU_DBG_FREQ_MAX) & P0_7_CSCLKDEV_MASK)
> +                                       << P0_7_CSCLKDEV_SHIFT;
> +
> +               /* Calculate EMA */
> +               volt_id = opp_get_voltage(opp);
Please use RCU read locks as documented for OPP library.

Regards,
Nishanth Menon



More information about the linux-arm-kernel mailing list