lkml.org 
[lkml]   [2014]   [Jul]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 10/14] cpufreq: cpu0: try regulators with name "cpu-supply"
    Date
    Currently, we expect regulator name to be "cpu0", but as we are going to support
    multiple cpu-blocks (all CPUs in a block share clock/voltage) later, we need to
    pass some generic string instead of that.

    For backwards compatibility try for "cpu0" first and if it fails, then try for
    "cpu".

    Suggested-by: Stephen Boyd <sboyd@codeaurora.org>
    Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
    ---
    drivers/cpufreq/cpufreq-cpu0.c | 14 +++++++++++++-
    1 file changed, 13 insertions(+), 1 deletion(-)

    diff --git a/drivers/cpufreq/cpufreq-cpu0.c b/drivers/cpufreq/cpufreq-cpu0.c
    index 15b8e7a..17001a8 100644
    --- a/drivers/cpufreq/cpufreq-cpu0.c
    +++ b/drivers/cpufreq/cpufreq-cpu0.c
    @@ -113,6 +113,7 @@ static int allocate_resources(struct device **cdev,
    struct regulator *cpu_reg;
    struct clk *cpu_clk;
    int ret = 0;
    + char *reg_cpu0 = "cpu0", *reg_cpu = "cpu", *reg;

    cpu_dev = get_cpu_device(0);
    if (!cpu_dev) {
    @@ -120,7 +121,11 @@ static int allocate_resources(struct device **cdev,
    return -ENODEV;
    }

    - cpu_reg = regulator_get_optional(cpu_dev, "cpu0");
    + /* Try "cpu0" for older DTs */
    + reg = reg_cpu0;
    +
    +try_again:
    + cpu_reg = regulator_get_optional(cpu_dev, reg);
    if (IS_ERR(cpu_reg)) {
    /*
    * If cpu0 regulator supply node is present, but regulator is
    @@ -130,6 +135,13 @@ static int allocate_resources(struct device **cdev,
    dev_err(cpu_dev, "cpu0 regulator not ready, retry\n");
    return -EPROBE_DEFER;
    }
    +
    + /* Try with "cpu-supply" */
    + if (reg == reg_cpu0) {
    + reg = reg_cpu;
    + goto try_again;
    + }
    +
    dev_warn(cpu_dev, "failed to get cpu0 regulator: %ld\n",
    PTR_ERR(cpu_reg));
    }
    --
    2.0.0.rc2


    \
     
     \ /
      Last update: 2014-07-01 23:41    [W:4.289 / U:0.388 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site