Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit beb1a10f authored by Dimitris Papastamos's avatar Dimitris Papastamos Committed by Mark Brown
Browse files

regmap: Save/restore the bypass state upon syncing

parent 13753a90
Loading
Loading
Loading
Loading
+5 −0
Original line number Original line Diff line number Diff line
@@ -227,10 +227,13 @@ int regcache_sync(struct regmap *map)
	unsigned int val;
	unsigned int val;
	unsigned int i;
	unsigned int i;
	const char *name;
	const char *name;
	unsigned int bypass;


	BUG_ON(!map->cache_ops);
	BUG_ON(!map->cache_ops);


	mutex_lock(&map->lock);
	mutex_lock(&map->lock);
	/* Remember the initial bypass state */
	bypass = map->cache_bypass;
	dev_dbg(map->dev, "Syncing %s cache\n",
	dev_dbg(map->dev, "Syncing %s cache\n",
		map->cache_ops->name);
		map->cache_ops->name);
	name = map->cache_ops->name;
	name = map->cache_ops->name;
@@ -255,6 +258,8 @@ int regcache_sync(struct regmap *map)
	}
	}
out:
out:
	trace_regcache_sync(map->dev, name, "stop");
	trace_regcache_sync(map->dev, name, "stop");
	/* Restore the bypass state */
	map->cache_bypass = bypass;
	mutex_unlock(&map->lock);
	mutex_unlock(&map->lock);


	return ret;
	return ret;