From: Iker Perez del Palomar Sustatxa <[email protected]>

The purpose of this change is to store the kind of device the
kernel is working with.

Signed-off-by: Iker Perez del Palomar Sustatxa <[email protected]>
---
 drivers/hwmon/lm75.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/drivers/hwmon/lm75.c b/drivers/hwmon/lm75.c
index 3fb9c0a2d6d0..0209e0719784 100644
--- a/drivers/hwmon/lm75.c
+++ b/drivers/hwmon/lm75.c
@@ -68,6 +68,7 @@ struct lm75_data {
        u8                      resolution;     /* In bits, between 9 and 16 */
        u8                      resolution_limits;
        unsigned int            sample_time;    /* In ms */
+       enum lm75_type          kind;
 };
 
 /*-----------------------------------------------------------------------*/
@@ -237,15 +238,16 @@ lm75_probe(struct i2c_client *client, const struct 
i2c_device_id *id)
        struct device *dev = &client->dev;
        struct device *hwmon_dev;
        struct lm75_data *data;
+       struct lm75_data device_data;
        int status, err;
        u8 set_mask, clr_mask;
        int new;
-       enum lm75_type kind;
 
+       data = &device_data;
        if (client->dev.of_node)
-               kind = (enum lm75_type)of_device_get_match_data(&client->dev);
+               data->kind = (enum 
lm75_type)of_device_get_match_data(&client->dev);
        else
-               kind = id->driver_data;
+               data->kind = id->driver_data;
 
        if (!i2c_check_functionality(client->adapter,
                        I2C_FUNC_SMBUS_BYTE_DATA | I2C_FUNC_SMBUS_WORD_DATA))
@@ -267,7 +269,7 @@ lm75_probe(struct i2c_client *client, const struct 
i2c_device_id *id)
        set_mask = 0;
        clr_mask = LM75_SHUTDOWN;               /* continuous conversions */
 
-       switch (kind) {
+       switch (data->kind) {
        case adt75:
                clr_mask |= 1 << 5;             /* not one-shot mode */
                data->resolution = 12;
-- 
2.11.0

Reply via email to