Commit cb365926 authored by John Stultz's avatar John Stultz Committed by Bjorn Andersson

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 anything else to get the system to go, the dependencies
are not likely to ever also be removed.

So making it a permanent module at least improves things slightly
over requiring it to be a built in driver.

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: default avatarJohn Stultz <john.stultz@linaro.org>
Signed-off-by: default avatarBjorn Andersson <bjorn.andersson@linaro.org>
[mkshah: Fix typos in commit message, send after removing _rcuidle trace]
Signed-off-by: default avatarMaulik Shah <mkshah@codeaurora.org>
Reviewed-by: default avatarStephen Boyd <swboyd@chromium.org>
Reviewed-by: default avatarBjorn Andersson <bjorn.andersson@linaro.org>
Link: https://lore.kernel.org/r/1601877596-32676-3-git-send-email-mkshah@codeaurora.orgSigned-off-by: default avatarBjorn Andersson <bjorn.andersson@linaro.org>
parent 7bb7a83f
...@@ -108,7 +108,7 @@ config QCOM_RMTFS_MEM ...@@ -108,7 +108,7 @@ config QCOM_RMTFS_MEM
Say y here if you intend to boot the modem remoteproc. Say y here if you intend to boot the modem remoteproc.
config QCOM_RPMH config QCOM_RPMH
bool "Qualcomm RPM-Hardened (RPMH) Communication" tristate "Qualcomm RPM-Hardened (RPMH) Communication"
depends on ARCH_QCOM || COMPILE_TEST depends on ARCH_QCOM || COMPILE_TEST
help help
Support for communication with the hardened-RPM blocks in Support for communication with the hardened-RPM blocks in
......
...@@ -13,6 +13,7 @@ ...@@ -13,6 +13,7 @@
#include <linux/iopoll.h> #include <linux/iopoll.h>
#include <linux/kernel.h> #include <linux/kernel.h>
#include <linux/list.h> #include <linux/list.h>
#include <linux/module.h>
#include <linux/of.h> #include <linux/of.h>
#include <linux/of_irq.h> #include <linux/of_irq.h>
#include <linux/of_platform.h> #include <linux/of_platform.h>
...@@ -1018,6 +1019,7 @@ static const struct of_device_id rpmh_drv_match[] = { ...@@ -1018,6 +1019,7 @@ static const struct of_device_id rpmh_drv_match[] = {
{ .compatible = "qcom,rpmh-rsc", }, { .compatible = "qcom,rpmh-rsc", },
{ } { }
}; };
MODULE_DEVICE_TABLE(of, rpmh_drv_match);
static struct platform_driver rpmh_driver = { static struct platform_driver rpmh_driver = {
.probe = rpmh_rsc_probe, .probe = rpmh_rsc_probe,
...@@ -1033,3 +1035,6 @@ static int __init rpmh_driver_init(void) ...@@ -1033,3 +1035,6 @@ static int __init rpmh_driver_init(void)
return platform_driver_register(&rpmh_driver); return platform_driver_register(&rpmh_driver);
} }
arch_initcall(rpmh_driver_init); arch_initcall(rpmh_driver_init);
MODULE_DESCRIPTION("Qualcomm Technologies, Inc. RPMh Driver");
MODULE_LICENSE("GPL v2");
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment