Message ID | 1592486051-22256-1-git-send-email-mkshah@codeaurora.org (mailing list archive) |
---|---|
State | Accepted |
Commit | 0924dad5d45882d7946416fd16c754d2a894d326 |
Headers | show |
Series | soc: qcom: rpmh: Use __fill_rpmh_msg API during rpmh_write() | expand |
Quoting Maulik Shah (2020-06-18 06:14:11) > Use __fill_rpmh_msg API during rpmh_write(). This allows to > remove duplication of code in error checking, copying commands > and setting message state. > > Signed-off-by: Maulik Shah <mkshah@codeaurora.org> > --- > drivers/soc/qcom/rpmh.c | 12 +++--------- > 1 file changed, 3 insertions(+), 9 deletions(-) > > diff --git a/drivers/soc/qcom/rpmh.c b/drivers/soc/qcom/rpmh.c > index f2b5b46c..a0a0b97 100644 > --- a/drivers/soc/qcom/rpmh.c > +++ b/drivers/soc/qcom/rpmh.c > @@ -181,8 +181,6 @@ static int __rpmh_write(const struct device *dev, enum rpmh_state state, > struct cache_req *req; > int i; > > - rpm_msg->msg.state = state; > - > /* Cache the request in our store and link the payload */ > for (i = 0; i < rpm_msg->msg.num_cmds; i++) { > req = cache_rpm_request(ctrlr, state, &rpm_msg->msg.cmds[i]); > @@ -190,8 +188,6 @@ static int __rpmh_write(const struct device *dev, enum rpmh_state state, > return PTR_ERR(req); > } > > - rpm_msg->msg.state = state; > - > if (state == RPMH_ACTIVE_ONLY_STATE) { > WARN_ON(irqs_disabled()); > ret = rpmh_rsc_send_data(ctrlr_to_drv(ctrlr), &rpm_msg->msg); Were these two hunks just nonsense assignments to rpm_msg->msg.state? > @@ -268,11 +264,9 @@ int rpmh_write(const struct device *dev, enum rpmh_state state, > DEFINE_RPMH_MSG_ONSTACK(dev, state, &compl, rpm_msg); > int ret; > > - if (!cmd || !n || n > MAX_RPMH_PAYLOAD) > - return -EINVAL; > - > - memcpy(rpm_msg.cmd, cmd, n * sizeof(*cmd)); > - rpm_msg.msg.num_cmds = n; > + ret = __fill_rpmh_msg(&rpm_msg, state, cmd, n); > + if (ret) > + return ret; This part makes sense and is discussed in the commit text.
Hi, On 6/19/2020 1:53 PM, Stephen Boyd wrote: > Quoting Maulik Shah (2020-06-18 06:14:11) >> Use __fill_rpmh_msg API during rpmh_write(). This allows to >> remove duplication of code in error checking, copying commands >> and setting message state. >> >> Signed-off-by: Maulik Shah<mkshah@codeaurora.org> >> --- >> drivers/soc/qcom/rpmh.c | 12 +++--------- >> 1 file changed, 3 insertions(+), 9 deletions(-) >> >> diff --git a/drivers/soc/qcom/rpmh.c b/drivers/soc/qcom/rpmh.c >> index f2b5b46c..a0a0b97 100644 >> --- a/drivers/soc/qcom/rpmh.c >> +++ b/drivers/soc/qcom/rpmh.c >> @@ -181,8 +181,6 @@ static int __rpmh_write(const struct device *dev, enum rpmh_state state, >> struct cache_req *req; >> int i; >> >> - rpm_msg->msg.state = state; >> - >> /* Cache the request in our store and link the payload */ >> for (i = 0; i < rpm_msg->msg.num_cmds; i++) { >> req = cache_rpm_request(ctrlr, state, &rpm_msg->msg.cmds[i]); >> @@ -190,8 +188,6 @@ static int __rpmh_write(const struct device *dev, enum rpmh_state state, >> return PTR_ERR(req); >> } >> >> - rpm_msg->msg.state = state; >> - >> if (state == RPMH_ACTIVE_ONLY_STATE) { >> WARN_ON(irqs_disabled()); >> ret = rpmh_rsc_send_data(ctrlr_to_drv(ctrlr), &rpm_msg->msg); > Were these two hunks just nonsense assignments to rpm_msg->msg.state? yes, usingĀ __fill_rpmh_msg() and DEFINE_RPMH_MSG_ONSTACK takes care of setting this. Thanks, Maulik > >> @@ -268,11 +264,9 @@ int rpmh_write(const struct device *dev, enum rpmh_state state, >> DEFINE_RPMH_MSG_ONSTACK(dev, state, &compl, rpm_msg); >> int ret; >> >> - if (!cmd || !n || n > MAX_RPMH_PAYLOAD) >> - return -EINVAL; >> - >> - memcpy(rpm_msg.cmd, cmd, n * sizeof(*cmd)); >> - rpm_msg.msg.num_cmds = n; >> + ret = __fill_rpmh_msg(&rpm_msg, state, cmd, n); >> + if (ret) >> + return ret; > This part makes sense and is discussed in the commit text.
Hello: This patch was applied to qcom/linux.git (refs/heads/for-next): On Thu, 18 Jun 2020 18:44:11 +0530 you wrote: > Use __fill_rpmh_msg API during rpmh_write(). This allows to > remove duplication of code in error checking, copying commands > and setting message state. > > Signed-off-by: Maulik Shah <mkshah@codeaurora.org> > --- > drivers/soc/qcom/rpmh.c | 12 +++--------- > 1 file changed, 3 insertions(+), 9 deletions(-) Here is the summary with links: - soc: qcom: rpmh: Use __fill_rpmh_msg API during rpmh_write() https://git.kernel.org/qcom/c/0924dad5d458 You are awesome, thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/patchwork/pwbot.html
diff --git a/drivers/soc/qcom/rpmh.c b/drivers/soc/qcom/rpmh.c index f2b5b46c..a0a0b97 100644 --- a/drivers/soc/qcom/rpmh.c +++ b/drivers/soc/qcom/rpmh.c @@ -181,8 +181,6 @@ static int __rpmh_write(const struct device *dev, enum rpmh_state state, struct cache_req *req; int i; - rpm_msg->msg.state = state; - /* Cache the request in our store and link the payload */ for (i = 0; i < rpm_msg->msg.num_cmds; i++) { req = cache_rpm_request(ctrlr, state, &rpm_msg->msg.cmds[i]); @@ -190,8 +188,6 @@ static int __rpmh_write(const struct device *dev, enum rpmh_state state, return PTR_ERR(req); } - rpm_msg->msg.state = state; - if (state == RPMH_ACTIVE_ONLY_STATE) { WARN_ON(irqs_disabled()); ret = rpmh_rsc_send_data(ctrlr_to_drv(ctrlr), &rpm_msg->msg); @@ -268,11 +264,9 @@ int rpmh_write(const struct device *dev, enum rpmh_state state, DEFINE_RPMH_MSG_ONSTACK(dev, state, &compl, rpm_msg); int ret; - if (!cmd || !n || n > MAX_RPMH_PAYLOAD) - return -EINVAL; - - memcpy(rpm_msg.cmd, cmd, n * sizeof(*cmd)); - rpm_msg.msg.num_cmds = n; + ret = __fill_rpmh_msg(&rpm_msg, state, cmd, n); + if (ret) + return ret; ret = __rpmh_write(dev, state, &rpm_msg); if (ret)
Use __fill_rpmh_msg API during rpmh_write(). This allows to remove duplication of code in error checking, copying commands and setting message state. Signed-off-by: Maulik Shah <mkshah@codeaurora.org> --- drivers/soc/qcom/rpmh.c | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-)