diff mbox series

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

Message ID 20230113031401.2336157-2-konrad.dybcio@linaro.org
State New
Headers show
Series [1/2] thermal/drivers/qcom/lmh: Use driver data as flags instead of bool | expand

Commit Message

Konrad Dybcio Jan. 13, 2023, 3:14 a.m. UTC
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@linaro.org>
---
 drivers/thermal/qcom/lmh.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

Comments

Bjorn Andersson Jan. 19, 2023, 3:05 a.m. UTC | #1
On Fri, Jan 13, 2023 at 04:14:00AM +0100, Konrad Dybcio wrote:
> 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@linaro.org>
> ---
>  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)

Looks perfectly fine, but please include a patch in the same series that
adds another bit. And don't forget to update the .data in the
of_match_id listing.

Regards,
Bjorn

>  
>  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
>
diff mbox series

Patch

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)