lkml.org 
[lkml]   [2015]   [Oct]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 1/2] regmap: Allow installing custom reg_update_bits function


On Thu, 1 Oct 2015, Mark Brown wrote:

> On Thu, Oct 01, 2015 at 02:33:06AM -0400, jon@ringle.org wrote:
>
> > @@ -2509,6 +2510,10 @@ static int _regmap_update_bits(struct regmap *map, unsigned int reg,
> > int ret;
> > unsigned int tmp, orig;
> >
> > + if (map->reg_update_bits)
> > + return map->reg_update_bits(map->bus_context, reg, mask, val,
> > + change, force_write);
> > +
> > ret = _regmap_read(map, reg, &orig);
> > if (ret != 0)
> > return ret;
>
> This completely bypasses and therefore breaks the cache infrastructure.
>

Hi Mark,

Right after sending the v2 patch, I realized that calling the
custom reg_update_bits would only be applicable for registers that are
marked as volatile. Would the following solution be acceptable (it would
also simplify the regmap_update_bits in the encx24j600 driver):

if (regmap_volatile(map, reg) && map->reg_update_bits) {
return map->reg_update_bits(map->bus_context, reg, mask,
val, change, force_write);

The cache state should not matter for volatile registers, right?

-Jon


\
 
 \ /
  Last update: 2015-10-01 15:01    [W:0.183 / U:0.092 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site