 +		ret = maxim_reg16_read(client, regs[i], &val);
 +		if (ret < 0)
 +			dev_err(&client->dev,
-+				"read fail: chip 0x%x register 0x%02x\n",
-+				client->addr, regs[i]);
++				"read fail: chip 0x%x register 0x%02x: %d\n",
++				client->addr, regs[i], ret);
 +		printk("0x%02x -> 0x%x\n", regs[i], val);
 +	}
 +}

+		ret = maxim_reg16_read(client, regs[i], &val);
+		if (ret < 0)
+			dev_err(&client->dev,
+				"read fail: chip 0x%x register 0x%02x\n",
+				client->addr, regs[i]);
+		printk("0x%02x -> 0x%x\n", regs[i], val);
+	}
+}

+	if (ret < 0) {
+		/* _dbg here for skipping error messaging on reset/reboot case */
+		dev_dbg(&client->dev,
+			"write fail: chip 0x%x register 0x%x: %d\n",
+			client->addr, reg, ret);
+	} else {
+#ifdef WRITE_VERIFY
+		u8 val2;
