| From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 |
| From: John Stultz <john.stultz@linaro.org> |
| Date: Thu, 26 Mar 2020 21:47:19 +0000 |
| Subject: FROMLIST: soc: qcom: rpmh: Allow RPMH driver to be loaded as a module |
| |
| This patch allow the rpmh driver to be loaded as a permenent |
| module. Meaning it can be loaded from a module, but then cannot |
| be unloaded. |
| |
| Ideally, it would include a remove hook and related logic, but |
| the rpmh driver is fairly core to the system, so once its loaded |
| with almost anythign else to get the system to go, the dependencies |
| are not likely to ever also be removed. |
| |
| So making it a permenent module at least improves things slightly |
| over requiring it to be a built in driver. |
| |
| Feedback would be appreciated! |
| |
| Cc: Todd Kjos <tkjos@google.com> |
| Cc: Saravana Kannan <saravanak@google.com> |
| Cc: Andy Gross <agross@kernel.org> |
| Cc: Bjorn Andersson <bjorn.andersson@linaro.org> |
| Cc: Rajendra Nayak <rnayak@codeaurora.org> |
| Cc: linux-arm-msm@vger.kernel.org |
| Signed-off-by: John Stultz <john.stultz@linaro.org> |
| Link: https://lore.kernel.org/lkml/20200326224459.105170-3-john.stultz@linaro.org/T/#u |
| Change-Id: I865f3ad0baa3b84bc0ea321df88238a3a89101a8 |
| --- |
| drivers/soc/qcom/Kconfig | 2 +- |
| drivers/soc/qcom/rpmh-rsc.c | 6 ++++++ |
| 2 files changed, 7 insertions(+), 1 deletion(-) |
| |
| diff --git a/drivers/soc/qcom/Kconfig b/drivers/soc/qcom/Kconfig |
| --- a/drivers/soc/qcom/Kconfig |
| +++ b/drivers/soc/qcom/Kconfig |
| @@ -97,7 +97,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 && ARM64 || 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 |
| --- a/drivers/soc/qcom/rpmh-rsc.c |
| +++ b/drivers/soc/qcom/rpmh-rsc.c |
| @@ -11,6 +11,7 @@ |
| #include <linux/io.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> |
| @@ -679,6 +680,8 @@ 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, |
| @@ -693,3 +696,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"); |