On 09/26/12 11:47, Pankaj Jangra wrote: > Hi Stephen, > > On Fri, Sep 21, 2012 at 7:56 AM, Stephen Boyd <sb...@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 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/