mfd: intel_soc_pmic_bxtwc: Don't shadow error codes in show()/store()
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Tue, 28 Jun 2022 22:17:37 +0000 (01:17 +0300)
committerLee Jones <lee@kernel.org>
Tue, 19 Jul 2022 09:54:41 +0000 (10:54 +0100)
kstrtox() along with regmap API can return different error codes based on
circumstances.

Don't shadow them when returning to the caller.

While at it, remove rather confusing message from addr_store().

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Link: https://lore.kernel.org/r/20220628221747.33956-1-andriy.shevchenko@linux.intel.com
drivers/mfd/intel_soc_pmic_bxtwc.c

index bc069c4..bdc3153 100644 (file)
@@ -339,10 +339,12 @@ static ssize_t addr_show(struct device *dev,
 static ssize_t addr_store(struct device *dev,
                          struct device_attribute *attr, const char *buf, size_t count)
 {
-       if (kstrtoul(buf, 0, &bxtwc_reg_addr)) {
-               dev_err(dev, "Invalid register address\n");
-               return -EINVAL;
-       }
+       int ret;
+
+       ret = kstrtoul(buf, 0, &bxtwc_reg_addr);
+       if (ret)
+               return ret;
+
        return (ssize_t)count;
 }
 
@@ -354,9 +356,9 @@ static ssize_t val_show(struct device *dev,
        struct intel_soc_pmic *pmic = dev_get_drvdata(dev);
 
        ret = regmap_read(pmic->regmap, bxtwc_reg_addr, &val);
-       if (ret < 0) {
+       if (ret) {
                dev_err(dev, "Failed to read 0x%lx\n", bxtwc_reg_addr);
-               return -EIO;
+               return ret;
        }
 
        return sprintf(buf, "0x%02x\n", val);
@@ -377,7 +379,7 @@ static ssize_t val_store(struct device *dev,
        if (ret) {
                dev_err(dev, "Failed to write value 0x%02x to address 0x%lx",
                        val, bxtwc_reg_addr);
-               return -EIO;
+               return ret;
        }
        return count;
 }