On Thu 26 Nov 02:31 CST 2020, Maulik Shah 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. > Reviewed-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxx> > Signed-off-by: Maulik Shah <mkshah@xxxxxxxxxxxxxx> > --- > 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 ad1f062..01765ee 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) > -- > QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member > of Code Aurora Forum, hosted by The Linux Foundation >