All of lore.kernel.org
 help / color / mirror / Atom feed
From: Heiko Schocher <hs@denx.de>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH] cmd_i2c: quit I2C commands immediately on error
Date: Fri, 06 Feb 2015 07:16:36 +0100	[thread overview]
Message-ID: <54D45C44.4060005@denx.de> (raw)
In-Reply-To: <1423111826-6442-1-git-send-email-yamada.m@jp.panasonic.com>

Hello Masahiro,

Am 05.02.2015 05:50, schrieb Masahiro Yamada:
> If the i2c driver returns an error status, error out immediately.
> Continuing the loop just results in printing error messages
> again and again.
>
> Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
> Cc: Simon Glass <sjg@chromium.org>
> Cc: Heiko Schocher <hs@denx.de>
> ---
>
>   common/cmd_i2c.c | 26 +++++++++++++-------------
>   1 file changed, 13 insertions(+), 13 deletions(-)

Applied to u-boot-i2c.git, thanks!

bye,
Heiko
>
> diff --git a/common/cmd_i2c.c b/common/cmd_i2c.c
> index 7c3ad00..12ce3f3 100644
> --- a/common/cmd_i2c.c
> +++ b/common/cmd_i2c.c
> @@ -518,7 +518,7 @@ static int do_i2c_md ( cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]
>   		ret = i2c_read(chip, addr, alen, linebuf, linebytes);
>   #endif
>   		if (ret)
> -			i2c_report_err(ret, I2C_ERR_READ);
> +			return i2c_report_err(ret, I2C_ERR_READ);
>   		else {
>   			printf("%04x:", addr);
>   			cp = linebuf;
> @@ -616,7 +616,7 @@ static int do_i2c_mw ( cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]
>   		ret = i2c_write(chip, addr++, alen, &byte, 1);
>   #endif
>   		if (ret)
> -			i2c_report_err(ret, I2C_ERR_WRITE);
> +			return i2c_report_err(ret, I2C_ERR_WRITE);
>   		/*
>   		 * Wait for the write to complete.  The write can take
>   		 * up to 10mSec (we allow a little more time).
> @@ -798,16 +798,15 @@ mod_i2c_mem(cmd_tbl_t *cmdtp, int incrflag, int flag, int argc, char * const arg
>   		ret = i2c_read(chip, addr, alen, (uchar *)&data, size);
>   #endif
>   		if (ret)
> -			i2c_report_err(ret, I2C_ERR_READ);
> -		else {
> -			data = cpu_to_be32(data);
> -			if (size == 1)
> -				printf(" %02lx", (data >> 24) & 0x000000FF);
> -			else if (size == 2)
> -				printf(" %04lx", (data >> 16) & 0x0000FFFF);
> -			else
> -				printf(" %08lx", data);
> -		}
> +			return i2c_report_err(ret, I2C_ERR_READ);
> +
> +		data = cpu_to_be32(data);
> +		if (size == 1)
> +			printf(" %02lx", (data >> 24) & 0x000000FF);
> +		else if (size == 2)
> +			printf(" %04lx", (data >> 16) & 0x0000FFFF);
> +		else
> +			printf(" %08lx", data);
>
>   		nbytes = cli_readline(" ? ");
>   		if (nbytes == 0) {
> @@ -848,7 +847,8 @@ mod_i2c_mem(cmd_tbl_t *cmdtp, int incrflag, int flag, int argc, char * const arg
>   						(uchar *)&data, size);
>   #endif
>   				if (ret)
> -					i2c_report_err(ret, I2C_ERR_WRITE);
> +					return i2c_report_err(ret,
> +							      I2C_ERR_WRITE);
>   #ifdef CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS
>   				udelay(CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS * 1000);
>   #endif
>

-- 
DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany

      parent reply	other threads:[~2015-02-06  6:16 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-02-05  4:50 [U-Boot] [PATCH] cmd_i2c: quit I2C commands immediately on error Masahiro Yamada
2015-02-06  5:45 ` Simon Glass
2015-02-06  6:16 ` Heiko Schocher [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=54D45C44.4060005@denx.de \
    --to=hs@denx.de \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.