From: Dimitris Papastamos <dp@opensource.wolfsonmicro.com>
To: Takashi Iwai <tiwai@suse.de>
Cc: alsa-devel@alsa-project.org,
Mark Brown <broonie@opensource.wolfsonmicro.com>,
Liam Girdwood <lrg@slimlogic.co.uk>
Subject: Re: [PATCH 4/4] ASoC: clean up cache accesser
Date: Mon, 20 Dec 2010 17:04:30 +0000 [thread overview]
Message-ID: <1292864670.29185.15.camel@dplaptop.localdomain> (raw)
In-Reply-To: <s5hsjxsxugd.wl%tiwai@suse.de>
On Mon, 2010-12-20 at 17:47 +0100, Takashi Iwai wrote:
> At Mon, 20 Dec 2010 16:27:49 +0000,
> Dimitris Papastamos wrote:
> >
> > On Mon, 2010-12-20 at 17:05 +0100, Takashi Iwai wrote:
> > > +static inline bool set_cache_val(void *base, unsigned int idx,
> > > + unsigned int val, unsigned int word_size)
> > > +{
> > > + if (word_size == 1) {
> > > + u8 *cache = base;
> > > + if (cache[idx] == val)
> > > + return true;
> > > + cache[idx] = val;
> > > + } else {
> > > + u16 *cache = base;
> > > + if (cache[idx] == val)
> > > + return true;
> > > + cache[idx] = val;
> > > + }
> > > + return false;
> > > +}
> >
> > If word_size is anything other than 1 byte, the above else will try to
> > handle it and assume it is 16 bits. I'd expect for an explicit check
> > for word_size == 2. A switch statement would perhaps be preferred for
> > legibility. It'd perhaps be wise to simply die via BUG() or similar if
> > an unsupported word size was passed in.
>
> Yes, this would be safer. I didn't put it since I wasn't sure whether
> BUG() content is also expanded at each caller. If yes, it would
> bloat. (Alternatively we may use snd_BUG_ON() -- it's built in only
> when CONFIG_SND_DEBUG is set.)
>
> Anyway, such a check should have been done rather at initialization.
I'd expect macro expansion to happen before inline function expansion.
I'll send in a patch to perform this check at init time once yours has
been merged.
Thanks,
Dimitrios
next prev parent reply other threads:[~2010-12-20 17:03 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-12-20 14:50 ASoC cache code (looking toward 2.6.38 merge window) Takashi Iwai
2010-12-20 15:27 ` Mark Brown
2010-12-20 15:56 ` Takashi Iwai
2010-12-20 16:01 ` [PATCH 1/4] ASoC: clean up cache read/write functions Takashi Iwai
2010-12-20 16:01 ` [PATCH 2/4] ASoC: clean up spi " Takashi Iwai
2010-12-20 16:02 ` [PATCH 3/4] ASoC: clean up i2c cache read / write functions Takashi Iwai
2010-12-20 16:05 ` [PATCH 4/4] ASoC: clean up cache accesser Takashi Iwai
2010-12-20 16:27 ` Dimitris Papastamos
2010-12-20 16:47 ` Takashi Iwai
2010-12-20 16:54 ` Mark Brown
2010-12-20 17:09 ` Dimitris Papastamos
2010-12-20 17:22 ` Takashi Iwai
2010-12-20 17:04 ` Dimitris Papastamos [this message]
2010-12-20 16:42 ` Mark Brown
2010-12-20 16:57 ` Takashi Iwai
2010-12-20 17:20 ` [PATCH 4/4] ASoC: Factor out cache_ops implementations Takashi Iwai
2010-12-20 17:29 ` [PATCH 2/4] ASoC: clean up spi cache read/write functions Mark Brown
2010-12-20 17:23 ` [PATCH 1/4] ASoC: clean up " Dimitris Papastamos
2010-12-20 17:24 ` Mark Brown
2010-12-20 17:32 ` Takashi Iwai
2010-12-20 16:34 ` ASoC cache code (looking toward 2.6.38 merge window) Mark Brown
2010-12-20 16:51 ` Takashi Iwai
2010-12-20 16:58 ` Mark Brown
2010-12-20 16:59 ` Takashi Iwai
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=1292864670.29185.15.camel@dplaptop.localdomain \
--to=dp@opensource.wolfsonmicro.com \
--cc=alsa-devel@alsa-project.org \
--cc=broonie@opensource.wolfsonmicro.com \
--cc=lrg@slimlogic.co.uk \
--cc=tiwai@suse.de \
/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.