media: i2c: imx290: Print error code when I2C transfer fails
authorLaurent Pinchart <laurent.pinchart@ideasonboard.com>
Sun, 16 Oct 2022 06:15:06 +0000 (09:15 +0300)
committerSakari Ailus <sakari.ailus@linux.intel.com>
Thu, 27 Oct 2022 11:38:00 +0000 (14:38 +0300)
Knowing why I2C transfers fail is useful for debugging. Extend the error
message to print the error code.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Alexander Stein <alexander.stein@ew.tq-group.com>
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
drivers/media/i2c/imx290.c

index e5b758356a7a73adf167834c4287d487df2d07b9..f6ad4d250feb4f270c23fc7701ab31eb22688b31 100644 (file)
@@ -370,7 +370,8 @@ static inline int __always_unused imx290_read_reg(struct imx290 *imx290, u16 add
 
        ret = regmap_read(imx290->regmap, addr, &regval);
        if (ret) {
-               dev_err(imx290->dev, "I2C read failed for addr: %x\n", addr);
+               dev_err(imx290->dev, "Failed to read register 0x%04x: %d\n",
+                       addr, ret);
                return ret;
        }
 
@@ -385,7 +386,8 @@ static int imx290_write_reg(struct imx290 *imx290, u16 addr, u8 value)
 
        ret = regmap_write(imx290->regmap, addr, value);
        if (ret) {
-               dev_err(imx290->dev, "I2C write failed for addr: %x\n", addr);
+               dev_err(imx290->dev, "Failed to write register 0x%04x: %d\n",
+                       addr, ret);
                return ret;
        }