summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGrace An <quic_gracan@quicinc.com>2022-06-29 10:18:02 -0700
committerGrace An <quic_gracan@quicinc.com>2022-07-06 15:14:24 -0700
commit0a5f30607f23bcc190dc8790288de0fa7fab2973 (patch)
treee1fc602e0eb95619bf0311c7046e794cfb18ca7f
parent91cfcb8220c61b62f81a35b9c7c00fd1f39b0598 (diff)
downloadmm-0a5f30607f23bcc190dc8790288de0fa7fab2973.tar.gz
mm-drivers: hw_fence: enable hw-fence driver based on cmdline var
This change ensures that the hw-fence driver is disabled by default and can be enabled or disabled based on a kernel command line argument. If the hw-fence driver is disabled, msm_hw_fence_probe returns an error. Change-Id: I248f29158c17a43151aa8b0c980a7ce0f5e758d6 Signed-off-by: Grace An <quic_gracan@quicinc.com>
-rw-r--r--hw_fence/src/msm_hw_fence.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/hw_fence/src/msm_hw_fence.c b/hw_fence/src/msm_hw_fence.c
index 0c8fd65..71288b7 100644
--- a/hw_fence/src/msm_hw_fence.c
+++ b/hw_fence/src/msm_hw_fence.c
@@ -15,6 +15,7 @@
#include "hw_fence_drv_ipc.h"
struct hw_fence_driver_data *hw_fence_drv_data;
+static bool hw_fence_driver_enable;
void *msm_hw_fence_register(enum hw_fence_client_id client_id,
struct msm_hw_fence_mem_addr *mem_descriptor)
@@ -420,6 +421,11 @@ static int msm_hw_fence_probe(struct platform_device *pdev)
return -EINVAL;
}
+ if (!hw_fence_driver_enable) {
+ HWFNC_DBG_INFO("hw fence driver not enabled\n");
+ return -EOPNOTSUPP;
+ }
+
if (of_device_is_compatible(pdev->dev.of_node, "qcom,msm-hw-fence"))
rc = msm_hw_fence_probe_init(pdev);
if (rc)
@@ -499,6 +505,9 @@ static void __exit msm_hw_fence_exit(void)
HWFNC_DBG_H("-\n");
}
+module_param_named(enable, hw_fence_driver_enable, bool, 0600);
+MODULE_PARM_DESC(enable, "Enable hardware fences");
+
module_init(msm_hw_fence_init);
module_exit(msm_hw_fence_exit);