[alsa-devel] [PATCH V4 1/5] The macro spin_event_timeout() takes a condition and timeout value
timur at freescale.com
Tue May 26 13:32:35 CEST 2009
On Tue, May 26, 2009 at 2:29 AM, Geert Uytterhoeven
<Geert.Uytterhoeven at sonycom.com> wrote:
> static inline function, returning rc, instead of a macro?
It won't work as an inline function ...
>> + unsigned long __loops = tb_ticks_per_usec * timeout; \
>> + unsigned long __start = get_tbl(); \
>> + while ((rc = (condition)) && (tb_ticks_since(__start) <= __loops)) \
There's no way to pass a expression to an inline function. It has to
be a macro. Here, the loop evaluates "condition" at every pass. If
this were an inline function, "condition" would be evaluated once when
the function were called, and never again.
Linux kernel developer at Freescale
More information about the Alsa-devel