Re: [PATCH] memory: renesas-rpc-if: Avoid unaligned bus access for HyperFlash
From: Wolfram Sang
Date: Sat Sep 25 2021 - 05:55:10 EST
Hi Andrew,
thanks for this patch!
> + const int maxw = (IS_ENABLED(CONFIG_64BIT)) ? 8 : 4;
> + u8 buf[2];
I could imagine the code becomes more readable if we make use of
something like:
unsigned long from_ul = from;
and then use it throughout the function?
> +#ifdef CONFIG_64BIT
> + *(u64 *)to = __raw_readq(from);
> +#else
> + *(u32 *)to = __raw_readl(from);
> +#endif
To keep the ifdeffery minimal:
if (maxw == 8)
*(u64 *)to = __raw_readq(from);
else
*(u32 *)to = __raw_readl(from);
and let the compiler do its job.
I wondered if this could be a helper function somewhere instead of open
coded in this driver. However, I did not find any similar code in the
kernel yet, so it might be too early to make this a helper. Have you
looked for similar code? I might have just missed it.
Happy hacking,
Wolfram
Attachment:
signature.asc
Description: PGP signature