]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
hwmon: (w83781d) Fix compile warning
authorGuenter Roeck <linux@roeck-us.net>
Tue, 12 Jun 2012 15:27:49 +0000 (08:27 -0700)
committerBen Hutchings <ben@decadent.org.uk>
Sat, 11 Nov 2017 13:34:44 +0000 (13:34 +0000)
commit bbc8a569ae91e0951f4b7f8eb33ef1970bf2129c upstream.

The following compile warning may be seen if the driver is compiled with
-Wuninitialized:

drivers/hwmon/w83781d.c: warning: 'sc_addr[1]' may be used uninitialized in this
function [-Wuninitialized]

While this is a false positive, it is annoying in nightly builds, and may help
to conceal real problems. The current code is quite tricky, and and it is easy
to rearrage the code to make the warning disappear. So fix it.

Cc: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
drivers/hwmon/w83781d.c

index 65b685e2c7b739634fd62f6d17238a1003945604..56a69c1a2bb8a70a7dd9821810791ab95f9c2917 100644 (file)
@@ -826,6 +826,7 @@ w83781d_detect_subclients(struct i2c_client *new_client)
        struct i2c_adapter *adapter = new_client->adapter;
        struct w83781d_data *data = i2c_get_clientdata(new_client);
        enum chips kind = data->type;
+       int num_sc = 1;
 
        id = i2c_adapter_id(adapter);
 
@@ -850,6 +851,7 @@ w83781d_detect_subclients(struct i2c_client *new_client)
        }
 
        if (kind != w83783s) {
+               num_sc = 2;
                if (force_subclients[0] == id &&
                    force_subclients[1] == address) {
                        sc_addr[1] = force_subclients[3];
@@ -865,7 +867,7 @@ w83781d_detect_subclients(struct i2c_client *new_client)
                }
        }
 
-       for (i = 0; i <= 1; i++) {
+       for (i = 0; i < num_sc; i++) {
                data->lm75[i] = i2c_new_dummy(adapter, sc_addr[i]);
                if (!data->lm75[i]) {
                        dev_err(&new_client->dev, "Subclient %d "
@@ -876,8 +878,6 @@ w83781d_detect_subclients(struct i2c_client *new_client)
                                goto ERROR_SC_3;
                        goto ERROR_SC_2;
                }
-               if (kind == w83783s)
-                       break;
        }
 
        return 0;