[PATCH 10/10] ARM: msm: Migrate to common clock framework

Pankaj Jangra jangra.pankaj9 at gmail.com
Wed Sep 26 14:57:51 EDT 2012


Hi,

On Thu, Sep 27, 2012 at 12:20 AM, Stephen Boyd <sboyd at codeaurora.org> wrote:
> On 09/26/12 11:47, Pankaj Jangra wrote:
>> Hi Stephen,
>>
>> On Fri, Sep 21, 2012 at 7:56 AM, Stephen Boyd <sboyd at codeaurora.org> wrote:
>>
>>> -static int pc_clk_set_rate(unsigned id, unsigned rate)
>>> +static int pc_clk_set_rate(struct clk_hw *hw, unsigned long new_rate,
>>> +                          unsigned long p_rate)
>>>  {
>>> -       /* The rate _might_ be rounded off to the nearest KHz value by the
>>> +       struct clk_pcom *p = to_clk_pcom(hw);
>>> +       unsigned id = p->id, rate = new_rate;
>>> +       int rc;
>>> +
>>> +       /*
>>> +        * The rate _might_ be rounded off to the nearest KHz value by the
>>>          * remote function. So a return value of 0 doesn't necessarily mean
>>>          * that the exact rate was set successfully.
>>>          */
>>> -       int rc = msm_proc_comm(PCOM_CLKCTL_RPC_SET_RATE, &id, &rate);
>>> -       if (rc < 0)
>>> -               return rc;
>>> -       else
>>> -               return (int)id < 0 ? -EINVAL : 0;
>>> -}
>>> -
>>> -static int pc_clk_set_min_rate(unsigned id, unsigned rate)
>>> -{
>>> -       int rc = msm_proc_comm(PCOM_CLKCTL_RPC_MIN_RATE, &id, &rate);
>>> -       if (rc < 0)
>>> -               return rc;
>>> +       if (p->flags & CLKFLAG_MIN)
>>> +               rc = msm_proc_comm(PCOM_CLKCTL_RPC_MIN_RATE, &id, &rate);
>> You are missing if condition here checking the rc ?
>>
>>>         else
>>> -               return (int)id < 0 ? -EINVAL : 0;
>>> -}
>>> -
>>> -static int pc_clk_set_max_rate(unsigned id, unsigned rate)
>>> -{
>>> -       int rc = msm_proc_comm(PCOM_CLKCTL_RPC_MAX_RATE, &id, &rate);
>> and else here i think for the MIN_FLAG if check.
>>
>>> +               rc = msm_proc_comm(PCOM_CLKCTL_RPC_SET_RATE, &id, &rate);
>>>         if (rc < 0)
>>>                 return rc;
>>>         else
>>>                 return (int)id < 0 ? -EINVAL : 0;
>>>  }
>
> This is the resulting code:
>
>         if (p->flags & CLKFLAG_MIN)
>                 rc = msm_proc_comm(PCOM_CLKCTL_RPC_MIN_RATE, &id, &rate);
>         else
>                 rc = msm_proc_comm(PCOM_CLKCTL_RPC_SET_RATE, &id, &rate);
>         if (rc < 0)
>                 return rc;
>         else
>                 return (int)id < 0 ? -EINVAL : 0;
>
> So we check the rc for both cases in the same if condition. Is there
> anything wrong?
My mistake. I overlooked a line. Sorry for spam. Thanks

--
Pankaj Jangra



More information about the linux-arm-kernel mailing list