Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d3a13903 authored by John Stultz's avatar John Stultz Committed by Todd Kjos
Browse files

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: default avatarJohn Stultz <john.stultz@linaro.org>
Link: https://lore.kernel.org/lkml/20200326224459.105170-3-john.stultz@linaro.org/
Bug: 161478631
Change-Id: I26f57b76c1629e8311d97e6be8f7ff4fdac65ba9
parent 67e0298d
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -102,7 +102,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
+6 −0
Original line number Diff line number Diff line
@@ -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");