From: Guenter Roeck Date: Sun, 7 Sep 2025 21:30:30 +0000 (-0700) Subject: hwmon: (hs3001) Rely on subsystem locking X-Git-Tag: v6.19-rc1~148^2~60 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0f192ec0014e6d7bf7b713719ac6a4a031ee6964;p=thirdparty%2Fkernel%2Flinux.git hwmon: (hs3001) Rely on subsystem locking 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 --- diff --git a/drivers/hwmon/hs3001.c b/drivers/hwmon/hs3001.c index 24ed3fb9a43a3..50c6c15f8b180 100644 --- a/drivers/hwmon/hs3001.c +++ b/drivers/hwmon/hs3001.c @@ -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,