android_kernel_xiaomi_sm8350/drivers/i2c/busses
David Woodhouse 3e3183bab0 [PATCH] SCX200_ACB: eliminate spurious timeout errors
While busy-waiting for completion, check the hardware after scheduling;
don't schedule and then immediately check the _timeout_.  If the yield()
took a long time (as it does on my OLPC prototype board when it's busy),
we'd report a timeout even though the hardware was now ready.

This fixes it, and also switches the yield() for a cond_resched() because
we don't actually want to be _that_ nice about it.  I see nice
tightly-packed SMBus transactions now, rather than waiting for milliseconds
between successive phases.

Actually, we shouldn't be busy-waiting here at all.  We should be using
interrupts.  That's an exercise for another day though.

Signed-off-by: David Woodhouse <dwmw2@infradead.org>
Cc: Christer Weinigel <wingel@nano-system.com>
Cc: <Jordan.Crouse@amd.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-08-06 08:57:49 -07:00
..
i2c-ali15x3.c
i2c-ali1535.c
i2c-ali1563.c
i2c-amd756-s4882.c
i2c-amd756.c
i2c-amd8111.c
i2c-au1550.c
i2c-au1550.h
i2c-elektor.c
i2c-hydra.c
i2c-i801.c [PATCH] i2c-801: 64bit resource fix 2006-06-30 11:25:41 -07:00
i2c-i810.c
i2c-ibm_iic.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
i2c-ibm_iic.h
i2c-iop3xx.c [PATCH] i2c-iop3xx: Avoid addressing self 2006-07-12 15:43:06 -07:00
i2c-iop3xx.h [PATCH] i2c-iop3xx: Avoid addressing self 2006-07-12 15:43:06 -07:00
i2c-isa.c
i2c-ite.c
i2c-ixp4xx.c
i2c-ixp2000.c
i2c-mpc.c [PATCH] irq-flags: misc drivers: Use the new IRQF_ constants 2006-07-02 13:58:50 -07:00
i2c-mv64xxx.c
i2c-nforce2.c [PATCH] I2C: i2c-nforce2: Add support for the nForce4 MCP51 and MCP55 2006-06-22 11:10:33 -07:00
i2c-ocores.c [PATCH] i2c-ocores: Minor cleanups 2006-06-22 11:10:34 -07:00
i2c-parport-light.c
i2c-parport.c
i2c-parport.h
i2c-pca-isa.c
i2c-piix4.c [PATCH] I2C: i2c-piix4: Document the IBM problem more clearly 2006-06-22 11:10:32 -07:00
i2c-powermac.c [PATCH] i2c-powermac: Fix master_xfer return value 2006-07-12 15:43:07 -07:00
i2c-prosavage.c
i2c-pxa.c [PATCH] irq-flags: misc drivers: Use the new IRQF_ constants 2006-07-02 13:58:50 -07:00
i2c-rpx.c
i2c-s3c2410.c [PATCH] irq-flags: misc drivers: Use the new IRQF_ constants 2006-07-02 13:58:50 -07:00
i2c-savage4.c
i2c-sibyte.c
i2c-sis96x.c
i2c-sis630.c
i2c-sis5595.c
i2c-stub.c
i2c-via.c
i2c-viapro.c
i2c-voodoo3.c
Kconfig Merge git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc 2006-06-22 22:11:30 -07:00
Makefile [PATCH] i2c: New bus driver for the OpenCores I2C controller 2006-06-22 11:10:33 -07:00
scx200_acb.c [PATCH] SCX200_ACB: eliminate spurious timeout errors 2006-08-06 08:57:49 -07:00
scx200_i2c.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00