This series is to modularize RPMH driver
The tracepoint in RPMH driver was changed to _rcuidle variant based on the
test results of unmerged series [1] where .power_off callback from genpd
reported RCU warnings.
The series which finally got merged [2] uses CPU PM notifications
and genpd .power_off callback is not implemented in RPMH driver to invoke
rpmh_flush(). The CPU PM notifications are done with RCU non idle in kernel
(see cpu_pm_notify() uses rcu_irq_enter_irqson() before notifications)
However using _rcuidle variant prevented RPMH driver to compile as module
since these _rcuidle are not exported symbols for tracepoints.
This seris reverts the change [3] to remove _rcuidle variant for tracepoint
as its no more valid test case (genpd .power_off is not implemented)
and bring backs the change [4] that was reverted due to _rcuidle preventing
to become modular.
[1] https://patchwork.kernel.org/project/linux-arm-msm/list/?series=243931
[2] https://patchwork.kernel.org/project/linux-arm-msm/list/?series=269733
[3] https://lore.kernel.org/r/[email protected]
[4] https://lore.kernel.org/r/[email protected]
Maulik Shah (2):
Revert "drivers: qcom: rpmh-rsc: Use rcuidle tracepoints for rpmh"
Revert "Revert "soc: qcom: rpmh: Allow RPMH driver to be loaded as a
module""
drivers/soc/qcom/Kconfig | 2 +-
drivers/soc/qcom/rpmh-rsc.c | 7 ++++++-
2 files changed, 7 insertions(+), 2 deletions(-)
--
QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member
of Code Aurora Forum, hosted by The Linux Foundation
The _rcuidle tracepoints are removed from RPMH driver which prevented
to compile it as module. Bring back the change to make it module.
This reverts commit 1f7a3eb785e4a4e196729cd3d5ec97bd5f9f2940.
Cc: John Stultz <[email protected]>
Cc: Stephen Rothwell <[email protected]>
Cc: Todd Kjos <[email protected]>
Cc: Saravana Kannan <[email protected]>
Signed-off-by: Maulik Shah <[email protected]>
---
drivers/soc/qcom/Kconfig | 2 +-
drivers/soc/qcom/rpmh-rsc.c | 5 +++++
2 files changed, 6 insertions(+), 1 deletion(-)
diff --git a/drivers/soc/qcom/Kconfig b/drivers/soc/qcom/Kconfig
index 3dc3e3d..892bdc7 100644
--- a/drivers/soc/qcom/Kconfig
+++ b/drivers/soc/qcom/Kconfig
@@ -92,7 +92,7 @@ config QCOM_RMTFS_MEM
Say y here if you intend to boot the modem remoteproc.
config QCOM_RPMH
- bool "Qualcomm RPM-Hardened (RPMH) Communication"
+ tristate "Qualcomm RPM-Hardened (RPMH) Communication"
depends on ARCH_QCOM || COMPILE_TEST
help
Support for communication with the hardened-RPM blocks in
diff --git a/drivers/soc/qcom/rpmh-rsc.c b/drivers/soc/qcom/rpmh-rsc.c
index fabe390d..5fce87c 100644
--- a/drivers/soc/qcom/rpmh-rsc.c
+++ b/drivers/soc/qcom/rpmh-rsc.c
@@ -13,6 +13,7 @@
#include <linux/iopoll.h>
#include <linux/kernel.h>
#include <linux/list.h>
+#include <linux/module.h>
#include <linux/of.h>
#include <linux/of_irq.h>
#include <linux/of_platform.h>
@@ -1025,6 +1026,7 @@ static const struct of_device_id rpmh_drv_match[] = {
{ .compatible = "qcom,rpmh-rsc", },
{ }
};
+MODULE_DEVICE_TABLE(of, rpmh_drv_match);
static struct platform_driver rpmh_driver = {
.probe = rpmh_rsc_probe,
@@ -1040,3 +1042,6 @@ static int __init rpmh_driver_init(void)
return platform_driver_register(&rpmh_driver);
}
arch_initcall(rpmh_driver_init);
+
+MODULE_DESCRIPTION("Qualcomm Technologies, Inc. RPMh Driver");
+MODULE_LICENSE("GPL v2");
--
QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member
of Code Aurora Forum, hosted by The Linux Foundation
Quoting Maulik Shah (2020-08-19 03:07:50)
> The _rcuidle tracepoints are removed from RPMH driver which prevented
> to compile it as module. Bring back the change to make it module.
>
> This reverts commit 1f7a3eb785e4a4e196729cd3d5ec97bd5f9f2940.
>
> Cc: John Stultz <[email protected]>
> Cc: Stephen Rothwell <[email protected]>
> Cc: Todd Kjos <[email protected]>
> Cc: Saravana Kannan <[email protected]>
> Signed-off-by: Maulik Shah <[email protected]>
> ---
Please send the original patch and add your SoB to it. Reverting a patch
out of the history works, but doesn't do justice to the authorship of
the patch.
Hi,
On 8/21/2020 4:42 AM, Stephen Boyd wrote:
> Quoting Maulik Shah (2020-08-19 03:07:50)
>> The _rcuidle tracepoints are removed from RPMH driver which prevented
>> to compile it as module. Bring back the change to make it module.
>>
>> This reverts commit 1f7a3eb785e4a4e196729cd3d5ec97bd5f9f2940.
>>
>> Cc: John Stultz <[email protected]>
>> Cc: Stephen Rothwell <[email protected]>
>> Cc: Todd Kjos <[email protected]>
>> Cc: Saravana Kannan <[email protected]>
>> Signed-off-by: Maulik Shah <[email protected]>
>> ---
> Please send the original patch and add your SoB to it. Reverting a patch
> out of the history works, but doesn't do justice to the authorship of
> the patch.
Sure, i will re-send the original patch in v2 instead of doing revert's
revert.
Thanks,
Maulik
--
QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation