summaryrefslogtreecommitdiff
path: root/drivers/base/regmap
diff options
context:
space:
mode:
authorXiubo Li <lixiubo@cmss.chinamobile.com>2015-12-09 08:09:07 +0300
committerMark Brown <broonie@kernel.org>2015-12-09 23:39:22 +0300
commit8b7663de6e2bfe3c40e1846e1c4625f33d138757 (patch)
treec1d2d4992ebebac2822215af7e75d81e1dcc457c /drivers/base/regmap
parent2fd6902ed7587c302611906b5151f6a7efeb2c63 (diff)
downloadlinux-8b7663de6e2bfe3c40e1846e1c4625f33d138757.tar.xz
regmap: cache: Add 64-bit mode support
Since the mmio has support the 64-bit has been supported for the 64-bit platform, so should the regcache core too. Signed-off-by: Xiubo Li <lixiubo@cmss.chinamobile.com> Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'drivers/base/regmap')
-rw-r--r--drivers/base/regmap/regcache.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/drivers/base/regmap/regcache.c b/drivers/base/regmap/regcache.c
index 3cb8c59a5ff6..1c0210aa2573 100644
--- a/drivers/base/regmap/regcache.c
+++ b/drivers/base/regmap/regcache.c
@@ -551,6 +551,14 @@ bool regcache_set_val(struct regmap *map, void *base, unsigned int idx,
cache[idx] = val;
break;
}
+#ifdef CONFIG_64BIT
+ case 8: {
+ u64 *cache = base;
+
+ cache[idx] = val;
+ break;
+ }
+#endif
default:
BUG();
}
@@ -584,6 +592,13 @@ unsigned int regcache_get_val(struct regmap *map, const void *base,
return cache[idx];
}
+#ifdef CONFIG_64BIT
+ case 8: {
+ const u64 *cache = base;
+
+ return cache[idx];
+ }
+#endif
default:
BUG();
}