提交 451485ba 编写于 作者: X Xiubo Li 提交者: Mark Brown

regmap: mmio: Add regmap_mmio_regbits_check.

Fix the support for 1/2/8 bytes wide register address checking.
Signed-off-by: NXiubo Li <Li.Xiubo@freescale.com>
Signed-off-by: NMark Brown <broonie@linaro.org>
上级 93258040
......@@ -47,6 +47,21 @@ static inline void regmap_mmio_regsize_check(size_t reg_size)
}
}
static int regmap_mmio_regbits_check(size_t reg_bits)
{
switch (reg_bits) {
case 8:
case 16:
case 32:
#ifdef CONFIG_64BIT
case 64:
#endif
return 0;
default:
return -EINVAL;
}
}
static inline void regmap_mmio_count_check(size_t count)
{
BUG_ON(count % 2 != 0);
......@@ -191,8 +206,9 @@ static struct regmap_mmio_context *regmap_mmio_gen_context(struct device *dev,
int min_stride;
int ret;
if (config->reg_bits != 32)
return ERR_PTR(-EINVAL);
ret = regmap_mmio_regbits_check(config->reg_bits);
if (ret)
return ERR_PTR(ret);
if (config->pad_bits)
return ERR_PTR(-EINVAL);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册