[PATCH 1/2] thermal/drivers/qcom/lmh: Use driver data as flags instead of bool

From: Konrad Dybcio
Date: Thu Jan 12 2023 - 22:14:19 EST


Currently the OF driver data is used to determine whether to manually
enable the LMH algorithms through secure calls. In preparation for
introducing support for SoCs with a configuration that differs from
both SDM845 and SM8150, convert this to a set of bitflags for more
flexibility.

Signed-off-by: Konrad Dybcio <konrad.dybcio@xxxxxxxxxx>
---
drivers/thermal/qcom/lmh.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/drivers/thermal/qcom/lmh.c b/drivers/thermal/qcom/lmh.c
index 4122a51e9874..5e8ff196c9a6 100644
--- a/drivers/thermal/qcom/lmh.c
+++ b/drivers/thermal/qcom/lmh.c
@@ -28,7 +28,7 @@

#define LMH_REG_DCVS_INTR_CLR 0x8

-#define LMH_ENABLE_ALGOS 1
+#define LMH_ENABLE_ALGOS BIT(0)

struct lmh_hw_data {
void __iomem *base;
@@ -92,9 +92,11 @@ static int lmh_probe(struct platform_device *pdev)
struct device_node *cpu_node;
struct lmh_hw_data *lmh_data;
int temp_low, temp_high, temp_arm, cpu_id, ret;
- unsigned int enable_alg;
+ unsigned int flags;
u32 node_id;

+ flags = (uintptr_t)of_device_get_match_data(dev);
+
lmh_data = devm_kzalloc(dev, sizeof(*lmh_data), GFP_KERNEL);
if (!lmh_data)
return -ENOMEM;
@@ -144,9 +146,7 @@ static int lmh_probe(struct platform_device *pdev)
if (!qcom_scm_lmh_dcvsh_available())
return -EINVAL;

- enable_alg = (uintptr_t)of_device_get_match_data(dev);
-
- if (enable_alg) {
+ if (flags & LMH_ENABLE_ALGOS) {
ret = qcom_scm_lmh_dcvsh(LMH_SUB_FN_CRNT, LMH_ALGO_MODE_ENABLE, 1,
LMH_NODE_DCVS, node_id, 0);
if (ret)
--
2.39.0