Re: [PATCH v9 04/10] drivers: qcom: rpmh: add RPMH helper functions

From: Raju P L S S S N
Date: Mon Jun 11 2018 - 13:11:33 EST


On 5/31/2018 3:19 AM, Doug Anderson wrote:

On Thu, May 24, 2018 at 3:45 AM, Raju P L S S S N
<rplsssn@xxxxxxxxxxxxxx> wrote:
--- a/drivers/soc/qcom/rpmh-rsc.c
+++ b/drivers/soc/qcom/rpmh-rsc.c
@@ -61,6 +61,8 @@


I still see no point of rsc_drv_list. Please remove it, AKA squash in


I'm also still of the opinion that we should take something like
<>, AKA "Get rid of the global array

+ * __rpmh_write: send the RPMH request
+ *
+ * @dev: The device making the request
+ * @state: Active/Sleep request type
+ * @rpm_msg: The data that needs to be sent (cmds).
+ */
+static int __rpmh_write(const struct device *dev, enum rpmh_state state,
+ struct rpmh_request *rpm_msg)
+ struct rpmh_ctrlr *ctrlr = get_rpmh_ctrlr(dev);
+ if (IS_ERR(ctrlr))
+ return PTR_ERR(ctrlr);
+ rpm_msg->msg.state = state;
+ if (state != RPMH_ACTIVE_ONLY_STATE)
+ return -EINVAL;
+ WARN_ON(irqs_disabled());
+ return rpmh_rsc_send_data(ctrlr->drv, &rpm_msg->msg);

You went too far in the removal of EXPORT_SYMBOL I think. This symbol
needs to be exported because other code that could be compiled as a
module might need to call into it. To explain:

* If two files that are always built-in to Linux need to call into
each other: no need for EXPORT_SYMBOL.

* If two files that are always part of the same module need to call
into each other: no need for EXPORT_SYMBOL.

* If one file that might be built-into a module needs to call another
that's builtin to the kernel: need EXPORT_SYMBOL.

Thanks for the explanation Doug. Will address this.