diff options
author | Grace An <quic_gracan@quicinc.com> | 2022-06-29 10:18:02 -0700 |
---|---|---|
committer | Grace An <quic_gracan@quicinc.com> | 2022-07-06 15:14:24 -0700 |
commit | 0a5f30607f23bcc190dc8790288de0fa7fab2973 (patch) | |
tree | e1fc602e0eb95619bf0311c7046e794cfb18ca7f | |
parent | 91cfcb8220c61b62f81a35b9c7c00fd1f39b0598 (diff) | |
download | mm-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.c | 9 |
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); |