linux-i2c.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Wolfram Sang <w.sang@pengutronix.de>
To: Shubhrajyoti D <shubhrajyoti@ti.com>
Cc: linux-omap@vger.kernel.org, linux-i2c@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org, ben-linux@fluff.org,
	tony@atomide.com, Felipe Balbi <balbi@ti.com>
Subject: Re: [PATCHv8 11/13] I2C: OMAP: decrease indentation level on data handling
Date: Mon, 18 Jun 2012 17:25:30 +0200	[thread overview]
Message-ID: <20120618152530.GB10768@pengutronix.de> (raw)
In-Reply-To: <1340029828-20751-12-git-send-email-shubhrajyoti@ti.com>

[-- Attachment #1: Type: text/plain, Size: 3316 bytes --]

On Mon, Jun 18, 2012 at 08:00:26PM +0530, Shubhrajyoti D wrote:
> From: Felipe Balbi <balbi@ti.com>
> 
> trivial patch, no functional changes.

This patch seems to be correct, but it is not trivial. In fact, it is
pretty easy to miss a "!" here which can cause subtle bugs.

> 
> Signed-off-by: Felipe Balbi <balbi@ti.com>
> Reviewed-by : Santosh Shilimkar <santosh.shilimkar@ti.com>
> Signed-off-by: Shubhrajyoti D <shubhrajyoti@ti.com>
> ---
>  drivers/i2c/busses/i2c-omap.c |   63 ++++++++++++++++++++---------------------
>  1 files changed, 31 insertions(+), 32 deletions(-)
> 
> diff --git a/drivers/i2c/busses/i2c-omap.c b/drivers/i2c/busses/i2c-omap.c
> index 080193a..0e0ab8f 100644
> --- a/drivers/i2c/busses/i2c-omap.c
> +++ b/drivers/i2c/busses/i2c-omap.c
> @@ -845,22 +845,7 @@ complete:
>  							>> 8) & 0x3F;
>  			}
>  			while (num_bytes--) {
> -				w = omap_i2c_read_reg(dev, OMAP_I2C_DATA_REG);
> -				if (dev->buf_len) {
> -					*dev->buf++ = w;
> -					dev->buf_len--;
> -					/*
> -					 * Data reg in 2430, omap3 and
> -					 * omap4 is 8 bit wide
> -					 */
> -					if (dev->flags &
> -						 OMAP_I2C_FLAG_16BIT_DATA_REG) {
> -						if (dev->buf_len) {
> -							*dev->buf++ = w >> 8;
> -							dev->buf_len--;
> -						}
> -					}
> -				} else {
> +				if (!dev->buf_len) {
>  					if (stat & OMAP_I2C_STAT_RRDY)
>  						dev_err(dev->dev,
>  							"RRDY IRQ while no data"
> @@ -871,6 +856,21 @@ complete:
>  								" requested\n");
>  					break;
>  				}
> +
> +				w = omap_i2c_read_reg(dev, OMAP_I2C_DATA_REG);
> +				*dev->buf++ = w;
> +				dev->buf_len--;
> +				/*
> +				 * Data reg in 2430, omap3 and
> +				 * omap4 is 8 bit wide
> +				 */
> +				if (dev->flags &
> +						OMAP_I2C_FLAG_16BIT_DATA_REG) {
> +					if (dev->buf_len) {
> +						*dev->buf++ = w >> 8;
> +						dev->buf_len--;
> +					}
> +				}
>  			}
>  			omap_i2c_ack_stat(dev,
>  				stat & (OMAP_I2C_STAT_RRDY | OMAP_I2C_STAT_RDR));
> @@ -887,22 +887,7 @@ complete:
>  							& 0x3F;
>  			}
>  			while (num_bytes--) {
> -				w = 0;
> -				if (dev->buf_len) {
> -					w = *dev->buf++;
> -					dev->buf_len--;
> -					/*
> -					 * Data reg in 2430, omap3 and
> -					 * omap4 is 8 bit wide
> -					 */
> -					if (dev->flags &
> -						 OMAP_I2C_FLAG_16BIT_DATA_REG) {
> -						if (dev->buf_len) {
> -							w |= *dev->buf++ << 8;
> -							dev->buf_len--;
> -						}
> -					}
> -				} else {
> +				if (!dev->buf_len) {
>  					if (stat & OMAP_I2C_STAT_XRDY)
>  						dev_err(dev->dev,
>  							"XRDY IRQ while no "
> @@ -914,6 +899,20 @@ complete:
>  					break;
>  				}
>  
> +				w = *dev->buf++;
> +				dev->buf_len--;
> +				/*
> +				 * Data reg in 2430, omap3 and
> +				 * omap4 is 8 bit wide
> +				 */
> +				if (dev->flags &
> +						OMAP_I2C_FLAG_16BIT_DATA_REG) {
> +					if (dev->buf_len) {
> +						w |= *dev->buf++ << 8;
> +						dev->buf_len--;
> +					}
> +				}
> +
>  				if ((dev->errata & I2C_OMAP_ERRATA_I462) &&
>  				    errata_omap3_i462(dev, &stat, &err))
>  					goto complete;
> -- 
> 1.7.5.4
> 

-- 
Pengutronix e.K.                           | Wolfram Sang                |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 198 bytes --]

  reply	other threads:[~2012-06-18 15:25 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-06-18 14:30 [PATCHv8 00/13] I2C cleanups Shubhrajyoti D
2012-06-18 14:30 ` [PATCHv8 01/13] I2C: OMAP: I2C register restore only if context is lost Shubhrajyoti D
2012-06-18 14:30 ` [PATCHv8 02/13] I2C: OMAP: Remove the definition of SYSS_RESETDONE_MASK Shubhrajyoti D
2012-06-18 14:30 ` [PATCHv8 05/13] I2C: OMAP: Optimise the remove code Shubhrajyoti D
2012-06-18 14:30 ` [PATCHv8 09/13] I2C: OMAP: Do not initialise the completion everytime Shubhrajyoti D
     [not found] ` <1340029828-20751-1-git-send-email-shubhrajyoti-l0cyMroinI0@public.gmane.org>
2012-06-18 14:30   ` [PATCHv8 03/13] I2C: OMAP: Remove reset at init Shubhrajyoti D
2012-06-20 10:29     ` Tony Lindgren
     [not found]       ` <20120620102905.GC12766-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
2012-06-21  7:03         ` Shubhrajyoti
2012-06-21  7:20           ` Tony Lindgren
2012-06-21  9:30             ` Shubhrajyoti
     [not found]               ` <4FE2E9D3.5060304-l0cyMroinI0@public.gmane.org>
2012-06-26 11:15                 ` Tony Lindgren
2012-06-18 14:30   ` [PATCHv8 04/13] I2C: OMAP: Recover from Bus Busy condition Shubhrajyoti D
2012-06-18 14:30   ` [PATCHv8 06/13] I2C: OMAP: Correct I2C revision for OMAP3 Shubhrajyoti D
     [not found]     ` <1340029828-20751-7-git-send-email-shubhrajyoti-l0cyMroinI0@public.gmane.org>
2012-06-20 10:32       ` Tony Lindgren
2012-06-20 13:01         ` Shubhrajyoti
     [not found]           ` <4FE1C9AC.3020104-l0cyMroinI0@public.gmane.org>
2012-06-20 14:14             ` Tony Lindgren
     [not found]               ` <20120620141437.GN12766-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
2012-06-21  6:56                 ` Shubhrajyoti Datta
2012-06-18 14:30   ` [PATCHv8 07/13] I2C: OMAP: use devm_* functions Shubhrajyoti D
2012-06-18 14:30   ` [PATCHv8 08/13] I2C: OMAP: Use SET_RUNTIME_PM_OPS Shubhrajyoti D
2012-06-18 14:30   ` [PATCHv8 10/13] I2C: OMAP: simplify num_bytes handling Shubhrajyoti D
     [not found]     ` <1340029828-20751-11-git-send-email-shubhrajyoti-l0cyMroinI0@public.gmane.org>
2012-06-18 15:22       ` Wolfram Sang
2012-06-18 14:30   ` [PATCHv8 11/13] I2C: OMAP: decrease indentation level on data handling Shubhrajyoti D
2012-06-18 15:25     ` Wolfram Sang [this message]
2012-06-18 14:30   ` [PATCHv8 13/13] I2C: OMAP: simplify omap_i2c_ack_stat() Shubhrajyoti D
     [not found]     ` <1340029828-20751-14-git-send-email-shubhrajyoti-l0cyMroinI0@public.gmane.org>
2012-06-18 15:30       ` Wolfram Sang
     [not found]         ` <20120618153000.GC10768-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2012-06-19  9:20           ` Shubhrajyoti Datta
2012-06-19 13:33             ` Wolfram Sang
2012-06-18 15:33   ` [PATCHv8 00/13] I2C cleanups Wolfram Sang
2012-06-18 14:30 ` [PATCHv8 12/13] I2C: OMAP: add blank lines Shubhrajyoti D

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=20120618152530.GB10768@pengutronix.de \
    --to=w.sang@pengutronix.de \
    --cc=balbi@ti.com \
    --cc=ben-linux@fluff.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-i2c@vger.kernel.org \
    --cc=linux-omap@vger.kernel.org \
    --cc=shubhrajyoti@ti.com \
    --cc=tony@atomide.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).