From: Ben Dooks on
On Tue, Apr 20, 2010 at 01:53:19PM +0300, Yauhen Kharuzhy wrote:
> msleep(1) which has been used for delay after issuing a STOP condition
> to bus cause very big delay (min 1/HZ s). This is makes bulk register
> update in I2C devices (for instance video camera) very slowly.
>
> Seems that this delay can be safely decreased to few tens of
> microseconds.

Mark Brown has already submitted a similar patch that uses the bus
busy bit. will be in the i2c-next tree soon.

> Signed-off-by: Yauhen Kharuzhy <yauhen.kharuzhy(a)promwad.com>
> ---
> drivers/i2c/busses/i2c-s3c2410.c | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/drivers/i2c/busses/i2c-s3c2410.c b/drivers/i2c/busses/i2c-s3c2410.c
> index d27072b..de20a4e 100644
> --- a/drivers/i2c/busses/i2c-s3c2410.c
> +++ b/drivers/i2c/busses/i2c-s3c2410.c
> @@ -521,7 +521,7 @@ static int s3c24xx_i2c_doxfer(struct s3c24xx_i2c *i2c,
>
> /* ensure the stop has been through the bus */
>
> - msleep(1);
> + udelay(50);
>
> out:
> return ret;
> --
> 1.6.6.1
>

--
--
Ben

Q: What's a light-year?
A: One-third less calories than a regular year.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/