[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20110902234827.GA31813@opensource.wolfsonmicro.com>
Date: Sat, 3 Sep 2011 00:48:27 +0100
From: Mark Brown <broonie@...nsource.wolfsonmicro.com>
To: Lars-Peter Clausen <lars@...afoo.de>
Cc: Dimitris Papastamos <dp@...nsource.wolfsonmicro.com>,
linux-kernel@...r.kernel.org, Liam Girdwood <lrg@...com>,
Graeme Gregory <gg@...mlogic.co.uk>,
Samuel Oritz <sameo@...ux.intel.com>
Subject: Re: [PATCH 1/8] regmap: Introduce caching support
On Fri, Sep 02, 2011 at 10:02:02PM +0200, Lars-Peter Clausen wrote:
> On 09/02/2011 05:46 PM, Dimitris Papastamos wrote:
> > +static const struct regcache_ops *cache_types[] = {
> > +};
> I wonder if it makes sense to keep a list of regcache_ops this way, or whether
> it is not better to just pass the ops we want to use to regcache_init directly.
Or have a function per cache type. I'm keen to hide the ops from users
because I don't want to have to worry about them peering inside the
internals.
> > + if (!map->cache_defaults_raw || !map->num_cache_defaults_raw) {
> > + dev_err(map->dev, "Client has not provided a defaults cache\n");
> > + return -EINVAL;
> > + }
> It should be OK to provide no default register values, in this case regmap
> should assume that the default for all registers is 0.
Yes - Dimitris, as we discussed offline it's pretty much essential for
things like PMICs where the defaults aren't meaningful and may even be
unknowable.
> > + if (value && map->cache_ops->read)
> Will value or cache_ops->read ever be NULL? A register cache that either only
> provides read or write would be pretty useless in my opinion, and we should
> probably check for this at initialization time and not upon each access.
I agree that it's safe to assume read() if you've got cache_ops. I
think in the case where we don't cache we should be able to come up with
a suitable noop cache type which we can assign as the ops so like you
say we can just assume a read() op.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists