From: Dimitris Papastamos <dp@opensource.wolfsonmicro.com>
To: Lars-Peter Clausen <lars@metafoo.de>
Cc: linux-kernel@vger.kernel.org,
Mark Brown <broonie@opensource.wolfsonmicro.com>,
Liam Girdwood <lrg@ti.com>, Graeme Gregory <gg@slimlogic.co.uk>,
Samuel Oritz <sameo@linux.intel.com>
Subject: Re: [PATCH 6/6 v3] regmap: Incorporate the regcache core into regmap
Date: Thu, 15 Sep 2011 16:37:18 +0100 [thread overview]
Message-ID: <20110915153718.GB7022@opensource.wolfsonmicro.com> (raw)
In-Reply-To: <4E721784.90302@metafoo.de>
On Thu, Sep 15, 2011 at 05:19:32PM +0200, Lars-Peter Clausen wrote:
> > [...]
> > @@ -321,6 +333,18 @@ int regmap_write(struct regmap *map, unsigned int reg, unsigned int val)
> >
> > mutex_lock(&map->lock);
> >
> > + if (!map->cache_bypass) {
> > + ret = regcache_write(map, reg, val);
> > + if (ret < 0) {
> > + mutex_unlock(&map->lock);
> > + return ret;
> > + }
> > + if (map->cache_only) {
> > + mutex_unlock(&map->lock);
> > + return 0;
> > + }
> > + }
> > +
>
> Would it make sense to move this into _regmap_write ? In that case the code
> wouldn't have to be duplicated in regmap_update_bits and as a bonus it wouldn't
> have to deal with the mutex either.
Hmm, yes from the point of view of simplifying and avoiding code
duplication.
> > ret = _regmap_write(map, reg, val);
> >
> > mutex_unlock(&map->lock);
> > @@ -422,6 +446,14 @@ int regmap_read(struct regmap *map, unsigned int reg, unsigned int *val)
> >
> > mutex_lock(&map->lock);
> >
> > + if (!map->cache_bypass) {
> > + ret = regcache_read(map, reg, val);
> > + if (!ret) {
> > + mutex_unlock(&map->lock);
> > + return 0;
> > + }
>
> So in case regmap_readable is not true for this register regcache_read will
> return -EIO and we'll fallback to an uncached read. This doesn't make sense in
> my opinion. Or what are the except semantics regmap_readable supposed to be?
I agree the semantics are fuzzy here.
At the moment, we basically have one means of signaling that the cache
can't handle the read request, that is, by returning an error. We
should probably extend that or simply use fixed error codes with a
specially meaning or something similar. I guess there is a more
elegant means of doing this though.
> > + }
> > +
> > ret = _regmap_read(map, reg, val);
> >
> > mutex_unlock(&map->lock);
>
next prev parent reply other threads:[~2011-09-15 15:37 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-09-15 10:34 [PATCH 0/6 v3] Introduce caching support for regmap Dimitris Papastamos
2011-09-15 10:34 ` [PATCH 1/6 v3] regmap: Introduce caching support Dimitris Papastamos
2011-09-15 15:11 ` Lars-Peter Clausen
2011-09-15 15:32 ` Dimitris Papastamos
2011-09-15 10:34 ` [PATCH 2/6 v3] regmap: Add the indexed cache support Dimitris Papastamos
2011-09-15 10:34 ` [PATCH 3/6 v3] regmap: Add the rbtree " Dimitris Papastamos
2011-09-15 10:34 ` [PATCH 4/6 v3] regmap: Add the LZO " Dimitris Papastamos
2011-09-15 10:34 ` [PATCH 5/6 v3] regmap: Add the regcache_sync trace event Dimitris Papastamos
2011-09-15 10:34 ` [PATCH 6/6 v3] regmap: Incorporate the regcache core into regmap Dimitris Papastamos
2011-09-15 15:19 ` Lars-Peter Clausen
2011-09-15 15:37 ` Dimitris Papastamos [this message]
2011-09-15 22:57 ` Mark Brown
2011-09-15 23:20 ` Lars-Peter Clausen
2011-09-15 23:53 ` 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=20110915153718.GB7022@opensource.wolfsonmicro.com \
--to=dp@opensource.wolfsonmicro.com \
--cc=broonie@opensource.wolfsonmicro.com \
--cc=gg@slimlogic.co.uk \
--cc=lars@metafoo.de \
--cc=linux-kernel@vger.kernel.org \
--cc=lrg@ti.com \
--cc=sameo@linux.intel.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox