Skip to content

Commit 232ba88

Browse files
javiercarrascocruzgroeck
authored andcommitted
hwmon: (chipcap2) Switch to guard() for mutext handling
Switch to guard() for mutex handling to simplify the code, getting rid of the 'ret = x, break; return ret;' construct and return the result of the operation instead. Signed-off-by: Javier Carrasco <[email protected]> Signed-off-by: Guenter Roeck <[email protected]>
1 parent f6477c8 commit 232ba88

File tree

1 file changed

+18
-45
lines changed

1 file changed

+18
-45
lines changed

drivers/hwmon/chipcap2.c

Lines changed: 18 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313

1414
#include <linux/bitfield.h>
1515
#include <linux/bits.h>
16+
#include <linux/cleanup.h>
1617
#include <linux/completion.h>
1718
#include <linux/delay.h>
1819
#include <linux/hwmon.h>
@@ -556,55 +557,40 @@ static int cc2_read(struct device *dev, enum hwmon_sensor_types type, u32 attr,
556557
int channel, long *val)
557558
{
558559
struct cc2_data *data = dev_get_drvdata(dev);
559-
int ret = 0;
560560

561-
mutex_lock(&data->dev_access_lock);
561+
guard(mutex)(&data->dev_access_lock);
562562

563563
switch (type) {
564564
case hwmon_temp:
565-
ret = cc2_measurement(data, type, val);
566-
break;
565+
return cc2_measurement(data, type, val);
567566
case hwmon_humidity:
568567
switch (attr) {
569568
case hwmon_humidity_input:
570-
ret = cc2_measurement(data, type, val);
571-
break;
569+
return cc2_measurement(data, type, val);
572570
case hwmon_humidity_min:
573-
ret = cc2_get_reg_val(data, CC2_R_ALARM_L_ON, val);
574-
break;
571+
return cc2_get_reg_val(data, CC2_R_ALARM_L_ON, val);
575572
case hwmon_humidity_min_hyst:
576-
ret = cc2_get_reg_val(data, CC2_R_ALARM_L_OFF, val);
577-
break;
573+
return cc2_get_reg_val(data, CC2_R_ALARM_L_OFF, val);
578574
case hwmon_humidity_max:
579-
ret = cc2_get_reg_val(data, CC2_R_ALARM_H_ON, val);
580-
break;
575+
return cc2_get_reg_val(data, CC2_R_ALARM_H_ON, val);
581576
case hwmon_humidity_max_hyst:
582-
ret = cc2_get_reg_val(data, CC2_R_ALARM_H_OFF, val);
583-
break;
577+
return cc2_get_reg_val(data, CC2_R_ALARM_H_OFF, val);
584578
case hwmon_humidity_min_alarm:
585-
ret = cc2_humidity_min_alarm_status(data, val);
586-
break;
579+
return cc2_humidity_min_alarm_status(data, val);
587580
case hwmon_humidity_max_alarm:
588-
ret = cc2_humidity_max_alarm_status(data, val);
589-
break;
581+
return cc2_humidity_max_alarm_status(data, val);
590582
default:
591-
ret = -EOPNOTSUPP;
583+
return -EOPNOTSUPP;
592584
}
593-
break;
594585
default:
595-
ret = -EOPNOTSUPP;
586+
return -EOPNOTSUPP;
596587
}
597-
598-
mutex_unlock(&data->dev_access_lock);
599-
600-
return ret;
601588
}
602589

603590
static int cc2_write(struct device *dev, enum hwmon_sensor_types type, u32 attr,
604591
int channel, long val)
605592
{
606593
struct cc2_data *data = dev_get_drvdata(dev);
607-
int ret;
608594
u16 arg;
609595
u8 cmd;
610596

@@ -614,41 +600,28 @@ static int cc2_write(struct device *dev, enum hwmon_sensor_types type, u32 attr,
614600
if (val < 0 || val > CC2_RH_MAX)
615601
return -EINVAL;
616602

617-
mutex_lock(&data->dev_access_lock);
603+
guard(mutex)(&data->dev_access_lock);
618604

619605
switch (attr) {
620606
case hwmon_humidity_min:
621607
cmd = CC2_W_ALARM_L_ON;
622608
arg = cc2_rh_to_reg(val);
623-
ret = cc2_write_reg(data, cmd, arg);
624-
break;
625-
609+
return cc2_write_reg(data, cmd, arg);
626610
case hwmon_humidity_min_hyst:
627611
cmd = CC2_W_ALARM_L_OFF;
628612
arg = cc2_rh_to_reg(val);
629-
ret = cc2_write_reg(data, cmd, arg);
630-
break;
631-
613+
return cc2_write_reg(data, cmd, arg);
632614
case hwmon_humidity_max:
633615
cmd = CC2_W_ALARM_H_ON;
634616
arg = cc2_rh_to_reg(val);
635-
ret = cc2_write_reg(data, cmd, arg);
636-
break;
637-
617+
return cc2_write_reg(data, cmd, arg);
638618
case hwmon_humidity_max_hyst:
639619
cmd = CC2_W_ALARM_H_OFF;
640620
arg = cc2_rh_to_reg(val);
641-
ret = cc2_write_reg(data, cmd, arg);
642-
break;
643-
621+
return cc2_write_reg(data, cmd, arg);
644622
default:
645-
ret = -EOPNOTSUPP;
646-
break;
623+
return -EOPNOTSUPP;
647624
}
648-
649-
mutex_unlock(&data->dev_access_lock);
650-
651-
return ret;
652625
}
653626

654627
static int cc2_request_ready_irq(struct cc2_data *data, struct device *dev)

0 commit comments

Comments
 (0)