Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

hwmon: (tmp513) Simplify with dev_err_probe()

Common pattern of handling deferred probe can be simplified with
dev_err_probe(). Less code and also it prints the error value.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Link: https://lore.kernel.org/r/20231128180654.395692-3-andriy.shevchenko@linux.intel.com
[groeck: Fixed excessive line length]
Signed-off-by: Guenter Roeck <linux@roeck-us.net>

authored by

Andy Shevchenko and committed by
Guenter Roeck
df989762 5d9ad4e0

+15 -20
+15 -20
drivers/hwmon/tmp513.c
··· 630 630 } else if (data->vbus_range_uvolt == TMP51X_VBUS_RANGE_16V) { 631 631 data->shunt_config &= ~TMP51X_BUS_VOLTAGE_MASK; 632 632 } else { 633 - dev_err(dev, "ti,bus-range-microvolt is invalid: %u\n", 634 - data->vbus_range_uvolt); 635 - return -EINVAL; 633 + return dev_err_probe(dev, -EINVAL, 634 + "ti,bus-range-microvolt is invalid: %u\n", 635 + data->vbus_range_uvolt); 636 636 } 637 637 return 0; 638 638 } ··· 648 648 } else if (data->pga_gain == 1) { 649 649 data->shunt_config |= CURRENT_SENSE_VOLTAGE_40_MASK; 650 650 } else { 651 - dev_err(dev, "ti,pga-gain is invalid: %u\n", data->pga_gain); 652 - return -EINVAL; 651 + return dev_err_probe(dev, -EINVAL, 652 + "ti,pga-gain is invalid: %u\n", data->pga_gain); 653 653 } 654 654 return 0; 655 655 } ··· 679 679 680 680 // Check if shunt value is compatible with pga-gain 681 681 if (data->shunt_uohms > data->pga_gain * 40 * 1000 * 1000) { 682 - dev_err(dev, "shunt-resistor: %u too big for pga_gain: %u\n", 683 - data->shunt_uohms, data->pga_gain); 684 - return -EINVAL; 682 + return dev_err_probe(dev, -EINVAL, 683 + "shunt-resistor: %u too big for pga_gain: %u\n", 684 + data->shunt_uohms, data->pga_gain); 685 685 } 686 686 687 687 return 0; ··· 721 721 data->max_channels = (uintptr_t)i2c_get_match_data(client); 722 722 723 723 ret = tmp51x_configure(dev, data); 724 - if (ret < 0) { 725 - dev_err(dev, "error configuring the device: %d\n", ret); 726 - return ret; 727 - } 724 + if (ret < 0) 725 + return dev_err_probe(dev, ret, "error configuring the device\n"); 728 726 729 727 data->regmap = devm_regmap_init_i2c(client, &tmp51x_regmap_config); 730 - if (IS_ERR(data->regmap)) { 731 - dev_err(dev, "failed to allocate register map\n"); 732 - return PTR_ERR(data->regmap); 733 - } 728 + if (IS_ERR(data->regmap)) 729 + return dev_err_probe(dev, PTR_ERR(data->regmap), 730 + "failed to allocate register map\n"); 734 731 735 732 ret = tmp51x_init(data); 736 - if (ret < 0) { 737 - dev_err(dev, "error configuring the device: %d\n", ret); 738 - return -ENODEV; 739 - } 733 + if (ret < 0) 734 + return dev_err_probe(dev, ret, "error configuring the device\n"); 740 735 741 736 hwmon_dev = devm_hwmon_device_register_with_info(dev, client->name, 742 737 data,