Hello, Since I was working on S3C64XX and C1XX, I found something weird on I2C bus device. The thing is that when I try to write multiple registers through I2C bus, it takes much more time for multiple registers to be written than any other processor's i2c bus device. I tracked down for which point does it take and finally found out that following msleep was making a tremendous delay when I try to write thousands of registers through I2C bus. Please look at this. 481 static int s3c24xx_i2c_doxfer(struct s3c24xx_i2c *i2c, 482 struct i2c_msg *msgs, int num) 483 { <snip> 521 /* ensure the stop has been through the bus */ 522 523 msleep(1); With several different target boards using s3c64xx and s5pc1xx, it went good without that msleep(). And of course it is working great with multiple i2c device attached as well. So, I want to ask Ben and anyone else using I2C device about removing that msleep might be ok or not. In my case, it went ok. Please let me know your opinion. Cheers, Nate -- = DongSoo, Nathaniel Kim Engineer Mobile S/W Platform Lab. Digital Media & Communications R&D Centre Samsung Electronics CO., LTD. e-mail : dongsoo.kim@xxxxxxxxx dongsoo45.kim@xxxxxxxxxxx -- To unsubscribe from this list: send the line "unsubscribe linux-i2c" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html