]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
ASoC: uda1380: use dev_err() and %pe for better error reporting
authorWenyuan Li <2063309626@qq.com>
Tue, 24 Mar 2026 08:36:06 +0000 (16:36 +0800)
committerMark Brown <broonie@kernel.org>
Tue, 24 Mar 2026 15:03:59 +0000 (15:03 +0000)
Convert existing debug and error prints to dev_err() to provide better
diagnostic information. Use the %pe format specifier to print
human-readable error strings for I2C failures.

Signed-off-by: Wenyuan Li <2063309626@qq.com>
Link: https://patch.msgid.link/tencent_A26B55F062F2B9C282A142BFC8BCDB1B9105@qq.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/codecs/uda1380.c

index 55b03d1ac8d2b78b971c5c14fb2c6418ae838673..63c3ea878fcf2df085d3b9d8324f2ae351287a3f 100644 (file)
@@ -117,20 +117,31 @@ static int uda1380_write(struct snd_soc_component *component, unsigned int reg,
        pr_debug("uda1380: hw write %x val %x\n", reg, value);
 
        ret = i2c_master_send(uda1380->i2c, data, 3);
-       if (ret != 3)
-               return ret < 0 ? ret : -EIO;
+       if (ret != 3) {
+               int err = ret < 0 ? ret : -EIO;
+               dev_err(component->dev, "write failed: %pe\n", ERR_PTR(err));
+               return err;
+       }
 
        ret = i2c_master_send(uda1380->i2c, data, 1);
-       if (ret != 1)
-               return ret < 0 ? ret : -EIO;
+       if (ret != 1) {
+               int err = ret < 0 ? ret : -EIO;
+               dev_err(component->dev, "send address failed: %pe\n", ERR_PTR(err));
+               return err;
+}
 
        ret = i2c_master_recv(uda1380->i2c, data, 2);
-       if (ret != 2)
-               return ret < 0 ? ret : -EIO;
+       if (ret != 2) {
+               int err = ret < 0 ? ret : -EIO;
+               dev_err(component->dev, "read failed: %pe\n", ERR_PTR(err));
+               return err;
+       }
 
        val = (data[0] << 8) | data[1];
-       if (val != value)
+       if (val != value) {
+               dev_err(component->dev, "read back val %x (expected %x)\n", val, value);
                return -EIO;
+       }
 
        if (reg >= 0x10)
                clear_bit(reg - 0x10, &uda1380_cache_dirty);