RE: [PATCH] nvmem: uniphier: change access unit from 32bit to 8bit
From: Keiji Hayashibara
Date: Wed Nov 22 2017 - 01:46:30 EST
Reviewed-by: Keiji Hayashibara <hayashibara.keiji@xxxxxxxxxxxxx>
Thanks.
-----
Best Regards,
Keiji Hayashibara
> -----Original Message-----
> From: Kunihiko Hayashi [mailto:hayashi.kunihiko@xxxxxxxxxxxxx]
> Sent: Wednesday, November 22, 2017 2:15 PM
> To: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx>
> Cc: Yamada, Masahiro/山田 真弘 <yamada.masahiro@xxxxxxxxxxxxx>; Hayashibara, Keiji/林原 啓二
> <hayashibara.keiji@xxxxxxxxxxxxx>; masami.hiramatsu@xxxxxxxxxx; jaswinder.singh@xxxxxxxxxx;
> linux-arm-kernel@xxxxxxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; Hayashi, Kunihiko/林 邦彦
> <hayashi.kunihiko@xxxxxxxxxxxxx>
> Subject: [PATCH] nvmem: uniphier: change access unit from 32bit to 8bit
>
> The efuse on UniPhier allows 8bit access according to the specification.
> Since bit offset of nvmem is limited to 0-7, it is desiable to change access unit of nvmem to 8bit.
>
> Signed-off-by: Kunihiko Hayashi <hayashi.kunihiko@xxxxxxxxxxxxx>
> ---
> drivers/nvmem/uniphier-efuse.c | 10 +++++-----
> 1 file changed, 5 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/nvmem/uniphier-efuse.c b/drivers/nvmem/uniphier-efuse.c index 2bb45c4..fac3122 100644
> --- a/drivers/nvmem/uniphier-efuse.c
> +++ b/drivers/nvmem/uniphier-efuse.c
> @@ -27,11 +27,11 @@ static int uniphier_reg_read(void *context,
> unsigned int reg, void *_val, size_t bytes) {
> struct uniphier_efuse_priv *priv = context;
> - u32 *val = _val;
> + u8 *val = _val;
> int offs;
>
> - for (offs = 0; offs < bytes; offs += sizeof(u32))
> - *val++ = readl(priv->base + reg + offs);
> + for (offs = 0; offs < bytes; offs += sizeof(u8))
> + *val++ = readb(priv->base + reg + offs);
>
> return 0;
> }
> @@ -53,8 +53,8 @@ static int uniphier_efuse_probe(struct platform_device *pdev)
> if (IS_ERR(priv->base))
> return PTR_ERR(priv->base);
>
> - econfig.stride = 4;
> - econfig.word_size = 4;
> + econfig.stride = 1;
> + econfig.word_size = 1;
> econfig.read_only = true;
> econfig.reg_read = uniphier_reg_read;
> econfig.size = resource_size(res);
> --
> 2.7.4