Hi Coccinelle experts,

is it possible to define a set of rules to automate the conversion done
in the attached patch ? I tried doing it myself, but did'nt get anywhere.

Thanks,
Guenter

---
>From 37f506439c184e930afda2ff82c3e207e0ac5d27 Mon Sep 17 00:00:00 2001
From: Guenter Roeck <[email protected]>
Date: Fri, 29 Mar 2019 13:26:40 -0700
Subject: [PATCH] hwmon: (nct7904) Use new HWMON_CHANNEL_INFO() macro

The new macro simplifies the code, reduces the likelihood of errors,
and makes the code easier to read.

Signed-off-by: Guenter Roeck <[email protected]>
---
 drivers/hwmon/nct7904.c | 128 +++++++++++++++++-------------------------------
 1 file changed, 46 insertions(+), 82 deletions(-)

diff --git a/drivers/hwmon/nct7904.c b/drivers/hwmon/nct7904.c
index 82c7de7b4639..04516789b070 100644
--- a/drivers/hwmon/nct7904.c
+++ b/drivers/hwmon/nct7904.c
@@ -400,89 +400,53 @@ static int nct7904_detect(struct i2c_client *client,
        return 0;
 }
 
-static const u32 nct7904_in_config[] = {
-       HWMON_I_INPUT,                  /* dummy, skipped in is_visible */
-       HWMON_I_INPUT,
-       HWMON_I_INPUT,
-       HWMON_I_INPUT,
-       HWMON_I_INPUT,
-       HWMON_I_INPUT,
-       HWMON_I_INPUT,
-       HWMON_I_INPUT,
-       HWMON_I_INPUT,
-       HWMON_I_INPUT,
-       HWMON_I_INPUT,
-       HWMON_I_INPUT,
-       HWMON_I_INPUT,
-       HWMON_I_INPUT,
-       HWMON_I_INPUT,
-       HWMON_I_INPUT,
-       HWMON_I_INPUT,
-       HWMON_I_INPUT,
-       HWMON_I_INPUT,
-       HWMON_I_INPUT,
-       HWMON_I_INPUT,
-       0
-};
-
-static const struct hwmon_channel_info nct7904_in = {
-       .type = hwmon_in,
-       .config = nct7904_in_config,
-};
-
-static const u32 nct7904_fan_config[] = {
-       HWMON_F_INPUT,
-       HWMON_F_INPUT,
-       HWMON_F_INPUT,
-       HWMON_F_INPUT,
-       HWMON_F_INPUT,
-       HWMON_F_INPUT,
-       HWMON_F_INPUT,
-       HWMON_F_INPUT,
-       0
-};
-
-static const struct hwmon_channel_info nct7904_fan = {
-       .type = hwmon_fan,
-       .config = nct7904_fan_config,
-};
-
-static const u32 nct7904_pwm_config[] = {
-       HWMON_PWM_INPUT | HWMON_PWM_ENABLE,
-       HWMON_PWM_INPUT | HWMON_PWM_ENABLE,
-       HWMON_PWM_INPUT | HWMON_PWM_ENABLE,
-       HWMON_PWM_INPUT | HWMON_PWM_ENABLE,
-       0
-};
-
-static const struct hwmon_channel_info nct7904_pwm = {
-       .type = hwmon_pwm,
-       .config = nct7904_pwm_config,
-};
-
-static const u32 nct7904_temp_config[] = {
-       HWMON_T_INPUT,
-       HWMON_T_INPUT,
-       HWMON_T_INPUT,
-       HWMON_T_INPUT,
-       HWMON_T_INPUT,
-       HWMON_T_INPUT,
-       HWMON_T_INPUT,
-       HWMON_T_INPUT,
-       HWMON_T_INPUT,
-       0
-};
-
-static const struct hwmon_channel_info nct7904_temp = {
-       .type = hwmon_temp,
-       .config = nct7904_temp_config,
-};
-
 static const struct hwmon_channel_info *nct7904_info[] = {
-       &nct7904_in,
-       &nct7904_fan,
-       &nct7904_pwm,
-       &nct7904_temp,
+       HWMON_CHANNEL_INFO(in,
+                          HWMON_I_INPUT, /* dummy, skipped in is_visible */
+                          HWMON_I_INPUT,
+                          HWMON_I_INPUT,
+                          HWMON_I_INPUT,
+                          HWMON_I_INPUT,
+                          HWMON_I_INPUT,
+                          HWMON_I_INPUT,
+                          HWMON_I_INPUT,
+                          HWMON_I_INPUT,
+                          HWMON_I_INPUT,
+                          HWMON_I_INPUT,
+                          HWMON_I_INPUT,
+                          HWMON_I_INPUT,
+                          HWMON_I_INPUT,
+                          HWMON_I_INPUT,
+                          HWMON_I_INPUT,
+                          HWMON_I_INPUT,
+                          HWMON_I_INPUT,
+                          HWMON_I_INPUT,
+                          HWMON_I_INPUT,
+                          HWMON_I_INPUT),
+       HWMON_CHANNEL_INFO(fan,
+                          HWMON_F_INPUT,
+                          HWMON_F_INPUT,
+                          HWMON_F_INPUT,
+                          HWMON_F_INPUT,
+                          HWMON_F_INPUT,
+                          HWMON_F_INPUT,
+                          HWMON_F_INPUT,
+                          HWMON_F_INPUT),
+       HWMON_CHANNEL_INFO(pwm,
+                          HWMON_PWM_INPUT | HWMON_PWM_ENABLE,
+                          HWMON_PWM_INPUT | HWMON_PWM_ENABLE,
+                          HWMON_PWM_INPUT | HWMON_PWM_ENABLE,
+                          HWMON_PWM_INPUT | HWMON_PWM_ENABLE),
+       HWMON_CHANNEL_INFO(temp,
+                          HWMON_T_INPUT,
+                          HWMON_T_INPUT,
+                          HWMON_T_INPUT,
+                          HWMON_T_INPUT,
+                          HWMON_T_INPUT,
+                          HWMON_T_INPUT,
+                          HWMON_T_INPUT,
+                          HWMON_T_INPUT,
+                          HWMON_T_INPUT),
        NULL
 };
 
-- 
2.7.4



_______________________________________________
Cocci mailing list
[email protected]
https://systeme.lip6.fr/mailman/listinfo/cocci

Reply via email to