Messages in this thread | | | Date | Wed, 26 Sep 2012 11:50:33 -0700 | From | Stephen Boyd <> | Subject | Re: [PATCH 10/10] ARM: msm: Migrate to common clock framework |
| |
On 09/26/12 11:47, Pankaj Jangra wrote: > Hi Stephen, > > On Fri, Sep 21, 2012 at 7:56 AM, Stephen Boyd <sboyd@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?
-- Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation
| |