Commit 014714b8 authored by Kirill Yatsenko's avatar Kirill Yatsenko Committed by Guenter Roeck

hwmon: (aht10) Refactor aht10_read_values function

Exit from the function immediately if the poll time hasn't yet expired.
Therefore the code after the check can be moved one tab to the left which
improves readability.
Signed-off-by: default avatarKirill Yatsenko <kiriyatsenko@gmail.com>
Link: https://lore.kernel.org/r/20230511202633.299174-2-kiriyatsenko@gmail.com
[groeck: Dropped else after return]
Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
parent 0cb01ec3
...@@ -135,40 +135,42 @@ static int aht10_read_values(struct aht10_data *data) ...@@ -135,40 +135,42 @@ static int aht10_read_values(struct aht10_data *data)
struct i2c_client *client = data->client; struct i2c_client *client = data->client;
mutex_lock(&data->lock); mutex_lock(&data->lock);
if (aht10_polltime_expired(data)) { if (!aht10_polltime_expired(data)) {
res = i2c_master_send(client, cmd_meas, sizeof(cmd_meas)); mutex_unlock(&data->lock);
if (res < 0) { return 0;
mutex_unlock(&data->lock); }
return res;
} res = i2c_master_send(client, cmd_meas, sizeof(cmd_meas));
if (res < 0) {
usleep_range(AHT10_MEAS_DELAY, mutex_unlock(&data->lock);
AHT10_MEAS_DELAY + AHT10_DELAY_EXTRA); return res;
res = i2c_master_recv(client, raw_data, AHT10_MEAS_SIZE);
if (res != AHT10_MEAS_SIZE) {
mutex_unlock(&data->lock);
if (res >= 0)
return -ENODATA;
else
return res;
}
hum = ((u32)raw_data[1] << 12u) |
((u32)raw_data[2] << 4u) |
((raw_data[3] & 0xF0u) >> 4u);
temp = ((u32)(raw_data[3] & 0x0Fu) << 16u) |
((u32)raw_data[4] << 8u) |
raw_data[5];
temp = ((temp * 625) >> 15u) * 10;
hum = ((hum * 625) >> 16u) * 10;
data->temperature = (int)temp - 50000;
data->humidity = hum;
data->previous_poll_time = ktime_get_boottime();
} }
usleep_range(AHT10_MEAS_DELAY, AHT10_MEAS_DELAY + AHT10_DELAY_EXTRA);
res = i2c_master_recv(client, raw_data, AHT10_MEAS_SIZE);
if (res != AHT10_MEAS_SIZE) {
mutex_unlock(&data->lock);
if (res >= 0)
return -ENODATA;
return res;
}
hum = ((u32)raw_data[1] << 12u) |
((u32)raw_data[2] << 4u) |
((raw_data[3] & 0xF0u) >> 4u);
temp = ((u32)(raw_data[3] & 0x0Fu) << 16u) |
((u32)raw_data[4] << 8u) |
raw_data[5];
temp = ((temp * 625) >> 15u) * 10;
hum = ((hum * 625) >> 16u) * 10;
data->temperature = (int)temp - 50000;
data->humidity = hum;
data->previous_poll_time = ktime_get_boottime();
mutex_unlock(&data->lock); mutex_unlock(&data->lock);
return 0; return 0;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment