hwmon: (aht10) Refactor aht10_read_values function
authorKirill Yatsenko <kiriyatsenko@gmail.com>
Thu, 11 May 2023 20:26:32 +0000 (22:26 +0200)
committerGuenter Roeck <linux@roeck-us.net>
Thu, 8 Jun 2023 13:41:18 +0000 (06:41 -0700)
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: Kirill Yatsenko <kiriyatsenko@gmail.com>
Link: https://lore.kernel.org/r/20230511202633.299174-2-kiriyatsenko@gmail.com
[groeck: Dropped else after return]
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
drivers/hwmon/aht10.c

index 4ccf49c..ec74595 100644 (file)
@@ -135,40 +135,42 @@ static int aht10_read_values(struct aht10_data *data)
        struct i2c_client *client = data->client;
 
        mutex_lock(&data->lock);
-       if (aht10_polltime_expired(data)) {
-               res = i2c_master_send(client, cmd_meas, sizeof(cmd_meas));
-               if (res < 0) {
-                       mutex_unlock(&data->lock);
-                       return res;
-               }
-
-               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;
-                       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();
+       if (!aht10_polltime_expired(data)) {
+               mutex_unlock(&data->lock);
+               return 0;
+       }
+
+       res = i2c_master_send(client, cmd_meas, sizeof(cmd_meas));
+       if (res < 0) {
+               mutex_unlock(&data->lock);
+               return res;
        }
+
+       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);
        return 0;
 }