powerpc: Introduce macro spin_event_timeout()
authorTimur Tabi <timur@freescale.com>
Tue, 26 May 2009 05:21:41 +0000 (05:21 +0000)
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>
Tue, 16 Jun 2009 04:15:44 +0000 (14:15 +1000)
commit9317726de42a157c377f7fe9110a63260800582f
tree14641c8adc6a56b289bdef8acc8b2cf18dbf90f7
parent79290e4b692af8a76273bab38e41a3a385dedc7b
powerpc: Introduce macro spin_event_timeout()

The macro spin_event_timeout() takes a condition and timeout value
(in microseconds) as parameters.  It spins until either the condition is true
or the timeout expires.  It returns the result of the condition when the loop
was terminated.

This primary purpose of this macro is to poll on a hardware register until a
status bit changes.  The timeout ensures that the loop still terminates if the
bit doesn't change as expected.  This macro makes it easier for driver
developers to perform this kind of operation properly.

Signed-off-by: Timur Tabi <timur@freescale.com>
Acked-by: Geoff Thorpe <Geoff.Thorpe@freescale.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
arch/powerpc/include/asm/delay.h