public inbox for linux-arm-kernel@lists.infradead.org
 help / color / mirror / Atom feed
From: balbi@ti.com (Felipe Balbi)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCHv3 06/17] i2c: omap: split out [XR]DR and [XR]RDY
Date: Mon, 2 Jul 2012 14:56:20 +0300	[thread overview]
Message-ID: <20120702115620.GD2730@arwen.pp.htv.fi> (raw)
In-Reply-To: <1340964817-8599-7-git-send-email-shubhrajyoti@ti.com>

Hi,

On Fri, Jun 29, 2012 at 03:43:26PM +0530, Shubhrajyoti D wrote:
> From: Felipe Balbi <balbi@ti.com>
> 
> While they do pretty much the same thing, there
> are a few peculiarities. Specially WRT erratas,
> it's best to split those out and re-factor the
> read/write loop to another function which both
> cases call.
> 
> This last part will be done on another patch.
> 
> While at that, also avoid an unncessary register
> read since dev->fifo_len will always contain the
> correct amount of data to be transferred.

this statement isn't valid anymore, but I'd like it to be. See below

> Signed-off-by: Felipe Balbi <balbi@ti.com>
> Signed-off-by: Shubhrajyoti D <shubhrajyoti@ti.com>
> ---
>  drivers/i2c/busses/i2c-omap.c |  126 ++++++++++++++++++++++++++++++----------
>  1 files changed, 94 insertions(+), 32 deletions(-)
> 
> diff --git a/drivers/i2c/busses/i2c-omap.c b/drivers/i2c/busses/i2c-omap.c
> index 359ee08..45bd731 100644
> --- a/drivers/i2c/busses/i2c-omap.c
> +++ b/drivers/i2c/busses/i2c-omap.c
> @@ -820,36 +820,64 @@ complete:
>  			return IRQ_HANDLED;
>  		}
>  
> -		if (stat & (OMAP_I2C_STAT_RRDY | OMAP_I2C_STAT_RDR)) {
> +		if (stat & OMAP_I2C_STAT_RDR) {
>  			u8 num_bytes = 1;
>  
> +			if (dev->fifo_size)
> +				num_bytes = (omap_i2c_read_reg(dev,
> +						OMAP_I2C_BUFSTAT_REG) >> 8)
> +						& 0x3F;

I wanted to avoid reading registers if we don't have to. This value will
be sitting in dev->buf_len.

-- 
balbi
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20120702/bd1ec352/attachment.sig>

  reply	other threads:[~2012-07-02 11:56 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-06-29 10:13 [PATCHv3 00/17] I2C Big cleanup Shubhrajyoti D
2012-06-29 10:13 ` [PATCHv3 01/17] i2c: omap: switch to devm_* API Shubhrajyoti D
2012-06-29 10:13 ` [PATCHv3 02/17] i2c: omap: simplify num_bytes handling Shubhrajyoti D
2012-06-29 10:13 ` [PATCHv3 03/17] i2c: omap: decrease indentation level on data handling Shubhrajyoti D
2012-06-29 10:13 ` [PATCHv3 04/17] i2c: omap: add blank lines Shubhrajyoti D
2012-06-29 10:13 ` [PATCHv3 05/17] i2c: omap: simplify omap_i2c_ack_stat() Shubhrajyoti D
2012-06-29 10:13 ` [PATCHv3 06/17] i2c: omap: split out [XR]DR and [XR]RDY Shubhrajyoti D
2012-07-02 11:56   ` Felipe Balbi [this message]
2012-07-02 12:00     ` Shubhrajyoti Datta
2012-06-29 10:13 ` [PATCHv3 07/17] i2c: omap: improve i462 errata handling Shubhrajyoti D
2012-06-29 10:13 ` [PATCHv3 08/17] i2c: omap: re-factor receive/transmit data loop Shubhrajyoti D
2012-06-29 10:13 ` [PATCHv3 09/17] i2c: omap: switch over to do {} while loop Shubhrajyoti D
2012-06-29 10:13 ` [PATCHv3 10/17] i2c: omap: ack IRQ in parts Shubhrajyoti D
2012-06-29 10:13 ` [PATCHv3 11/17] i2c: omap: switch to platform_get_irq() Shubhrajyoti D
2012-06-29 10:13 ` [PATCHv3 12/17] i2c: omap: bus: add a receiver flag Shubhrajyoti D
2012-06-29 10:13 ` [PATCHv3 13/17] i2c: omap: simplify errata check Shubhrajyoti D
2012-06-29 10:13 ` [PATCHv3 14/17] i2c: omap: always return IRQ_HANDLED Shubhrajyoti D
2012-06-29 10:13 ` [PATCHv3 15/17] i2c: omap: simplify IRQ exit path Shubhrajyoti D
2012-06-29 10:13 ` [PATCHv3 16/17] i2c: omap: resize fifos before each message Shubhrajyoti D
2012-06-29 10:13 ` [PATCHv3 17/17] i2c: omap: get rid of the "complete" label Shubhrajyoti D
2012-07-02 11:59   ` Felipe Balbi

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=20120702115620.GD2730@arwen.pp.htv.fi \
    --to=balbi@ti.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    /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