summaryrefslogtreecommitdiff
path: root/drivers/base/regmap/regmap-mmio.c
diff options
context:
space:
mode:
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>2022-09-01 00:27:43 +0300
committerMark Brown <broonie@kernel.org>2022-09-07 14:42:26 +0300
commit400dceb6f8b56472b36c5c2c8c3e0cbb7557d019 (patch)
tree711fe94ee093f47127b024dc0cac878b9bc0d36a /drivers/base/regmap/regmap-mmio.c
parent2d4697375dea514be202abf563a9419e74489c25 (diff)
downloadlinux-400dceb6f8b56472b36c5c2c8c3e0cbb7557d019.tar.xz
regmap: mmio: Use swabXX_array() helpers
Since we have a few helpers to swab elements of a given size in an array use them instead of open coded variants. Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Reviewed-by: Linus Walleij <linus.walleij@linaro.org> Link: https://lore.kernel.org/r/20220831212744.56435-2-andriy.shevchenko@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'drivers/base/regmap/regmap-mmio.c')
-rw-r--r--drivers/base/regmap/regmap-mmio.c20
1 files changed, 4 insertions, 16 deletions
diff --git a/drivers/base/regmap/regmap-mmio.c b/drivers/base/regmap/regmap-mmio.c
index b47ee3e8d050..8bd8d42de3fe 100644
--- a/drivers/base/regmap/regmap-mmio.c
+++ b/drivers/base/regmap/regmap-mmio.c
@@ -10,6 +10,7 @@
#include <linux/module.h>
#include <linux/regmap.h>
#include <linux/slab.h>
+#include <linux/swab.h>
#include "internal.h"
@@ -345,7 +346,6 @@ static int regmap_mmio_noinc_read(void *context, unsigned int reg,
{
struct regmap_mmio_context *ctx = context;
int ret = 0;
- int i;
if (!IS_ERR(ctx->clk)) {
ret = clk_enable(ctx->clk);
@@ -382,27 +382,15 @@ static int regmap_mmio_noinc_read(void *context, unsigned int reg,
if (ctx->big_endian && (ctx->val_bytes > 1)) {
switch (ctx->val_bytes) {
case 2:
- {
- u16 *valp = (u16 *)val;
- for (i = 0; i < val_count; i++)
- valp[i] = swab16(valp[i]);
+ swab16_array(val, val_count);
break;
- }
case 4:
- {
- u32 *valp = (u32 *)val;
- for (i = 0; i < val_count; i++)
- valp[i] = swab32(valp[i]);
+ swab32_array(val, val_count);
break;
- }
#ifdef CONFIG_64BIT
case 8:
- {
- u64 *valp = (u64 *)val;
- for (i = 0; i < val_count; i++)
- valp[i] = swab64(valp[i]);
+ swab64_array(val, val_count);
break;
- }
#endif
default:
ret = -EINVAL;