]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
hwmon: (jc42) Rely on subsystem locking
authorGuenter Roeck <linux@roeck-us.net>
Thu, 5 Jun 2025 23:41:36 +0000 (16:41 -0700)
committerGuenter Roeck <linux@roeck-us.net>
Wed, 15 Oct 2025 18:02:43 +0000 (11:02 -0700)
Attribute access is now serialized in the hardware monitoring core,
so locking in the driver code is no longer necessary. Drop it.

Signed-off-by: Guenter Roeck <linux@roeck-us.net>
drivers/hwmon/jc42.c

index 06f0ab2f52fa2b06152230de32801f7792b3ee6c..6549dc54378124939828a96bdf24c4d9506d94d7 100644 (file)
@@ -19,7 +19,6 @@
 #include <linux/i2c.h>
 #include <linux/hwmon.h>
 #include <linux/err.h>
-#include <linux/mutex.h>
 #include <linux/regmap.h>
 
 /* Addresses to scan */
@@ -179,7 +178,6 @@ static struct jc42_chips jc42_chips[] = {
 
 /* Each client has this additional data */
 struct jc42_data {
-       struct mutex    update_lock;    /* protect register access */
        struct regmap   *regmap;
        bool            extended;       /* true if extended range supported */
        bool            valid;
@@ -216,8 +214,6 @@ static int jc42_read(struct device *dev, enum hwmon_sensor_types type,
        unsigned int regval;
        int ret, temp, hyst;
 
-       mutex_lock(&data->update_lock);
-
        switch (attr) {
        case hwmon_temp_input:
                ret = regmap_read(data->regmap, JC42_REG_TEMP, &regval);
@@ -295,8 +291,6 @@ static int jc42_read(struct device *dev, enum hwmon_sensor_types type,
                break;
        }
 
-       mutex_unlock(&data->update_lock);
-
        return ret;
 }
 
@@ -308,8 +302,6 @@ static int jc42_write(struct device *dev, enum hwmon_sensor_types type,
        int diff, hyst;
        int ret;
 
-       mutex_lock(&data->update_lock);
-
        switch (attr) {
        case hwmon_temp_min:
                ret = regmap_write(data->regmap, JC42_REG_TEMP_LOWER,
@@ -356,8 +348,6 @@ static int jc42_write(struct device *dev, enum hwmon_sensor_types type,
                break;
        }
 
-       mutex_unlock(&data->update_lock);
-
        return ret;
 }
 
@@ -498,7 +488,6 @@ static int jc42_probe(struct i2c_client *client)
                return PTR_ERR(data->regmap);
 
        i2c_set_clientdata(client, data);
-       mutex_init(&data->update_lock);
 
        ret = regmap_read(data->regmap, JC42_REG_CAP, &cap);
        if (ret)