[PATCH] i2c_probe: Use "read_byte" command for probing

Sascha Hauer s.hauer at pengutronix.de
Mon Nov 9 02:50:48 EST 2020


On Wed, Nov 04, 2020 at 06:59:28AM +0300, Alexander Shiyan wrote:
> Some I2C adapters do not allow zero length data transfers, such as the AM335X.
> To use the i2c_probe command, let's use byte reading for this purpose.
> 
> Signed-off-by: Alexander Shiyan <shc_work at mail.ru>
> ---
>  commands/i2c.c | 6 ++++--
>  1 file changed, 4 insertions(+), 2 deletions(-)

Applied, thanks

Sascha

> 
> diff --git a/commands/i2c.c b/commands/i2c.c
> index 53f36dfaa..997d49a94 100644
> --- a/commands/i2c.c
> +++ b/commands/i2c.c
> @@ -16,10 +16,12 @@ static void i2c_probe_range(struct i2c_adapter *adapter, int startaddr, int stop
>  
>  	printf("probing i2c%d range 0x%02x-0x%02x: ", adapter->nr, startaddr, stopaddr);
>  	for (addr = startaddr; addr <= stopaddr && !ctrlc(); addr++) {
> +		u8 buf[1];
>  		struct i2c_msg msg = {
>  			.addr = addr,
> -			.buf = NULL,
> -			.len = 0,
> +			.buf = buf,
> +			.len = sizeof(buf),
> +			.flags = I2C_M_RD,
>  		};
>  		int ret = i2c_transfer(adapter, &msg, 1);
>  		if (ret == 1)
> -- 
> 2.26.2
> 
> 
> _______________________________________________
> barebox mailing list
> barebox at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/barebox
> 

-- 
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |



More information about the barebox mailing list