diff options
| author | Andy Shevchenko <andriy.shevchenko@linux.intel.com> | 2026-02-19 17:19:36 +0300 |
|---|---|---|
| committer | Guenter Roeck <linux@roeck-us.net> | 2026-04-12 17:23:51 +0300 |
| commit | a69ae329d425df7e0638903ca74abea615cafc7d (patch) | |
| tree | 6121cbd3e308721458c6bf74e83115ae110e5347 | |
| parent | ff708b549c4dbecb308fa97e360a8fe0b2f89309 (diff) | |
| download | linux-a69ae329d425df7e0638903ca74abea615cafc7d.tar.xz | |
hwmon: (pmbus/tps25990) Don't check for specific errors when parsing properties
Instead of checking for the specific error codes (that can be considered
a layering violation to some extent) check for the property existence first
and then either parse it, or apply a default value.
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Link: https://lore.kernel.org/r/20260219141936.2259945-1-andriy.shevchenko@linux.intel.com
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
| -rw-r--r-- | drivers/hwmon/pmbus/tps25990.c | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/drivers/hwmon/pmbus/tps25990.c b/drivers/hwmon/pmbus/tps25990.c index c13edd7e1abf..05c6288ecafc 100644 --- a/drivers/hwmon/pmbus/tps25990.c +++ b/drivers/hwmon/pmbus/tps25990.c @@ -402,12 +402,18 @@ static int tps25990_probe(struct i2c_client *client) { struct device *dev = &client->dev; struct pmbus_driver_info *info; - u32 rimon = TPS25990_DEFAULT_RIMON; + const char *propname; + u32 rimon; int ret; - ret = device_property_read_u32(dev, "ti,rimon-micro-ohms", &rimon); - if (ret < 0 && ret != -EINVAL) - return dev_err_probe(dev, ret, "failed to get rimon\n"); + propname = "ti,rimon-micro-ohms"; + if (device_property_present(dev, propname)) { + ret = device_property_read_u32(dev, propname, &rimon); + if (ret) + return dev_err_probe(dev, ret, "failed to get %s\n", propname); + } else { + rimon = TPS25990_DEFAULT_RIMON; + } info = devm_kmemdup(dev, &tps25990_base_info, sizeof(*info), GFP_KERNEL); if (!info) |
