[PATCH] i2c: Fix error print when address is invalid

From: Stephen Boyd
Date: Mon Jan 23 2017 - 21:24:31 EST


When the address is invalid, we print out the address that's
in info.addr, but that member of info hasn't been assigned yet.
It's assigned in the line after we check the address. This causes
the print to show something like

i2c i2c-1: of_i2c: invalid addr=0 on ...

when we want something like

i2c i2c-1: of_i2c: invalid addr=0xaf on ...

Just pass addr here, and update the print format to indicate hex
as well.

Signed-off-by: Stephen Boyd <stephen.boyd@xxxxxxxxxx>
---
drivers/i2c/i2c-core.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/i2c/i2c-core.c b/drivers/i2c/i2c-core.c
index cf9e396d7702..9fec1c232d68 100644
--- a/drivers/i2c/i2c-core.c
+++ b/drivers/i2c/i2c-core.c
@@ -1707,8 +1707,8 @@ static struct i2c_client *of_i2c_register_device(struct i2c_adapter *adap,
}

if (i2c_check_addr_validity(addr, info.flags)) {
- dev_err(&adap->dev, "of_i2c: invalid addr=%x on %s\n",
- info.addr, node->full_name);
+ dev_err(&adap->dev, "of_i2c: invalid addr=%#x on %s\n",
+ addr, node->full_name);
return ERR_PTR(-EINVAL);
}

--
2.10.0.297.gf6727b0