]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
hwmon: (hs3001) Rely on subsystem locking
authorGuenter Roeck <linux@roeck-us.net>
Sun, 7 Sep 2025 21:30:30 +0000 (14:30 -0700)
committerGuenter Roeck <linux@roeck-us.net>
Fri, 17 Oct 2025 12:59:12 +0000 (05:59 -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/hs3001.c

index 24ed3fb9a43a39a4127d7917108382b000965ddc..50c6c15f8b180bc36eac7e28e9caece6481299f5 100644 (file)
@@ -42,7 +42,6 @@
 
 struct hs3001_data {
        struct i2c_client *client;
-       struct mutex i2c_lock; /* lock for sending i2c commands */
        u32 wait_time;          /* in us */
        int temperature;        /* in milli degree */
        u32 humidity;           /* in milli % */
@@ -112,12 +111,9 @@ static int hs3001_read(struct device *dev, enum hwmon_sensor_types type,
        struct i2c_client *client = data->client;
        int ret;
 
-       mutex_lock(&data->i2c_lock);
        ret = i2c_master_send(client, NULL, 0);
-       if (ret < 0) {
-               mutex_unlock(&data->i2c_lock);
+       if (ret < 0)
                return ret;
-       }
 
        /*
         * Sensor needs some time to process measurement depending on
@@ -126,8 +122,6 @@ static int hs3001_read(struct device *dev, enum hwmon_sensor_types type,
        fsleep(data->wait_time);
 
        ret = hs3001_data_fetch_command(client, data);
-       mutex_unlock(&data->i2c_lock);
-
        if (ret < 0)
                return ret;
 
@@ -211,8 +205,6 @@ static int hs3001_probe(struct i2c_client *client)
        data->wait_time = (HS3001_WAKEUP_TIME + HS3001_14BIT_RESOLUTION +
                           HS3001_14BIT_RESOLUTION);
 
-       mutex_init(&data->i2c_lock);
-
        hwmon_dev = devm_hwmon_device_register_with_info(dev,
                                                         client->name,
                                                         data,