]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
soc: qcom: rpmh: Allow RPMH driver to be loaded as a module
authorJohn Stultz <john.stultz@linaro.org>
Thu, 26 Mar 2020 22:44:58 +0000 (22:44 +0000)
committerBjorn Andersson <bjorn.andersson@linaro.org>
Tue, 14 Apr 2020 22:39:30 +0000 (15:39 -0700)
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.

Acked-by: Saravana Kannan <saravanak@google.com>
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
Tested-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Signed-off-by: John Stultz <john.stultz@linaro.org>
Link: https://lore.kernel.org/r/20200326224459.105170-3-john.stultz@linaro.org
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
drivers/soc/qcom/Kconfig
drivers/soc/qcom/rpmh-rsc.c

index bf42a17a45def792652fab0b9af9c857534017e3..70d97147d87e24c87c910976fb76140eabda6b66 100644 (file)
@@ -107,7 +107,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
index 732316bb67dce71f589181eeacad5b8ec85e08b2..a9e15699f55fe040e7b9a0948bceb7c9901bfb93 100644 (file)
@@ -12,6 +12,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>
@@ -985,6 +986,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,
@@ -999,3 +1001,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");