All of lore.kernel.org
 help / color / mirror / Atom feed
From: Timur Tabi <timur@freescale.com>
To: Geert Uytterhoeven <Geert.Uytterhoeven@sonycom.com>
Cc: linuxppc-dev@ozlabs.org, alsa-devel@alsa-project.org,
	broonie@sirena.org.uk
Subject: Re: [PATCH V4 1/5] The macro spin_event_timeout() takes a condition and timeout value
Date: Tue, 26 May 2009 06:32:35 -0500	[thread overview]
Message-ID: <ed82fe3e0905260432xdc9556cp74edc723eafe24f7@mail.gmail.com> (raw)
In-Reply-To: <alpine.LRH.2.00.0905260928320.31893@vixen.sonytel.be>

On Tue, May 26, 2009 at 2:29 AM, Geert Uytterhoeven
<Geert.Uytterhoeven@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.

-- 
Timur Tabi
Linux kernel developer at Freescale

WARNING: multiple messages have this Message-ID (diff)
From: Timur Tabi <timur@freescale.com>
To: Geert Uytterhoeven <Geert.Uytterhoeven@sonycom.com>
Cc: linuxppc-dev@ozlabs.org, alsa-devel@alsa-project.org,
	broonie@sirena.org.uk
Subject: Re: [PATCH V4 1/5] The macro spin_event_timeout() takes a condition and timeout value
Date: Tue, 26 May 2009 06:32:35 -0500	[thread overview]
Message-ID: <ed82fe3e0905260432xdc9556cp74edc723eafe24f7@mail.gmail.com> (raw)
In-Reply-To: <alpine.LRH.2.00.0905260928320.31893@vixen.sonytel.be>

On Tue, May 26, 2009 at 2:29 AM, Geert Uytterhoeven
<Geert.Uytterhoeven@sonycom.com> wrote:

> static inline function, returning rc, instead of a macro?

It won't work as an inline function ...

>> + =A0 =A0 unsigned long __loops =3D tb_ticks_per_usec * timeout; =A0 =A0=
 =A0 =A0 =A0 =A0 =A0 =A0\
>> + =A0 =A0 unsigned long __start =3D get_tbl(); =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0\
>> + =A0 =A0 while ((rc =3D (condition)) && (tb_ticks_since(__start) <=3D _=
_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.

--=20
Timur Tabi
Linux kernel developer at Freescale

  reply	other threads:[~2009-05-26 11:32 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-05-25 22:15 [PATCH V4 0/5] AC97 driver for mpc5200 Jon Smirl
2009-05-25 22:15 ` [PATCH V4 1/5] The macro spin_event_timeout() takes a condition and timeout value Jon Smirl
2009-05-25 22:15   ` Jon Smirl
2009-05-26  7:29   ` Geert Uytterhoeven
2009-05-26 11:32     ` Timur Tabi [this message]
2009-05-26 11:32       ` Timur Tabi
2009-05-26 11:51       ` Geert Uytterhoeven
2009-05-26 12:49         ` Arnd Bergmann
2009-05-26 14:20           ` Timur Tabi
2009-05-26 14:20             ` Timur Tabi
2009-05-25 22:15 ` [PATCH V4 2/5] Main rewite of the mpc5200 audio DMA code Jon Smirl
2009-05-26 11:01   ` [alsa-devel] " Mark Brown
2009-05-26 16:51     ` Grant Likely
2009-05-26 16:53       ` Jon Smirl
2009-05-26 16:53         ` [alsa-devel] " Jon Smirl
2009-05-26 16:56         ` Grant Likely
2009-05-26 16:56           ` [alsa-devel] " Grant Likely
2009-05-26 17:08         ` Timur Tabi
2009-05-26 17:08           ` [alsa-devel] " Timur Tabi
2009-05-26 20:21           ` Mark Brown
2009-05-25 22:15 ` [PATCH V4 3/5] AC97 driver for mpc5200 Jon Smirl
2009-05-26  3:41   ` Timur Tabi
2009-05-26  3:41     ` [alsa-devel] " Timur Tabi
2009-05-26  3:47     ` Grant Likely
2009-05-26  3:47       ` [alsa-devel] " Grant Likely
2009-05-25 22:15 ` [PATCH V4 4/5] Support for AC97 on Phytec pmc030 base board Jon Smirl
2009-05-25 22:15 ` [PATCH V4 5/5] Fabric bindings for STAC9766 on the Efika Jon Smirl
2009-05-26  3:44 ` [alsa-devel] [PATCH V4 0/5] AC97 driver for mpc5200 Timur Tabi
2009-05-26  3:44   ` Timur Tabi
2009-05-26  9:21   ` Mark Brown
2009-05-26  9:21     ` [alsa-devel] " Mark Brown
2009-05-26 11:08   ` Jon Smirl
2009-05-26 11:08     ` Jon Smirl
2009-05-26 11:39     ` Timur Tabi
2009-05-26 11:39       ` [alsa-devel] " Timur Tabi
2009-05-26 11:43     ` Mark Brown
2009-05-26 11:43       ` [alsa-devel] " Mark Brown
2009-05-26 11:04 ` Mark Brown
2009-05-26 11:04   ` [alsa-devel] " Mark Brown

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ed82fe3e0905260432xdc9556cp74edc723eafe24f7@mail.gmail.com \
    --to=timur@freescale.com \
    --cc=Geert.Uytterhoeven@sonycom.com \
    --cc=alsa-devel@alsa-project.org \
    --cc=broonie@sirena.org.uk \
    --cc=linuxppc-dev@ozlabs.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.