]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
hwmon: (ltc4245) Rely on subsystem locking
authorGuenter Roeck <linux@roeck-us.net>
Sun, 8 Jun 2025 04:08:40 +0000 (21:08 -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.

While at it, drop the unnecessary include of hwmon-sysfs.h.

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

index 14593bc81e85ecad1f13453f494cfa8478992ac6..e8131a48bda7f73cc235d4c14149a4d094dfa541 100644 (file)
@@ -18,7 +18,6 @@
 #include <linux/slab.h>
 #include <linux/i2c.h>
 #include <linux/hwmon.h>
-#include <linux/hwmon-sysfs.h>
 #include <linux/jiffies.h>
 #include <linux/platform_data/ltc4245.h>
 
@@ -51,7 +50,6 @@ enum ltc4245_cmd {
 struct ltc4245_data {
        struct i2c_client *client;
 
-       struct mutex update_lock;
        bool valid;
        unsigned long last_updated; /* in jiffies */
 
@@ -132,10 +130,7 @@ static struct ltc4245_data *ltc4245_update_device(struct device *dev)
        s32 val;
        int i;
 
-       mutex_lock(&data->update_lock);
-
        if (time_after(jiffies, data->last_updated + HZ) || !data->valid) {
-
                /* Read control registers -- 0x00 to 0x07 */
                for (i = 0; i < ARRAY_SIZE(data->cregs); i++) {
                        val = i2c_smbus_read_byte_data(client, i);
@@ -161,8 +156,6 @@ static struct ltc4245_data *ltc4245_update_device(struct device *dev)
                data->valid = true;
        }
 
-       mutex_unlock(&data->update_lock);
-
        return data;
 }
 
@@ -454,7 +447,6 @@ static int ltc4245_probe(struct i2c_client *client)
                return -ENOMEM;
 
        data->client = client;
-       mutex_init(&data->update_lock);
        data->use_extra_gpios = ltc4245_use_extra_gpios(client);
 
        /* Initialize the LTC4245 chip */