[PATCH 1/1] mtd: cfi_flash: use __raw_writeq(), __raw_readq()
Heinrich Schuchardt
xypron.glpk at gmx.de
Mon Jun 8 09:12:30 CEST 2020
On 6/8/20 9:07 AM, Stefan Roese wrote:
> On 07.06.20 20:42, Heinrich Schuchardt wrote:
>> On 6/6/20 11:13 PM, Heinrich Schuchardt wrote:
>>> Functions __raw_writeq(), __raw_readq() are available for all
>>> architectures. So let's use them.
>>
>> The major architectures have these but not m68k, microblaze, nd32,
>> nios2, powerpc, sh, xtenza.
>
> Just checking to be clear: This patch breaks compiling on these
> platforms and you are withdrawing it (for now)?
Yes, it breaks compiling on the specified platforms.
This can be fixed by adding the missing functions to the platforms:
https://gitlab.denx.de/u-boot/custodians/u-boot-efi/-/commits/sunxi
But is it worthwhile to add __raw_writeq(), __raw_readq() to all of these?
Best regards
Heinrich
>
> Thanks,
> Stefan
>
>>>
>>> Signed-off-by: Heinrich Schuchardt <xypron.glpk at gmx.de>
>>> ---
>>> drivers/mtd/cfi_flash.c | 6 ++----
>>> 1 file changed, 2 insertions(+), 4 deletions(-)
>>>
>>> diff --git a/drivers/mtd/cfi_flash.c b/drivers/mtd/cfi_flash.c
>>> index b7289ba539..e31e07ca80 100644
>>> --- a/drivers/mtd/cfi_flash.c
>>> +++ b/drivers/mtd/cfi_flash.c
>>> @@ -155,8 +155,7 @@ __maybe_weak void flash_write32(u32 value, void
>>> *addr)
>>>
>>> __maybe_weak void flash_write64(u64 value, void *addr)
>>> {
>>> - /* No architectures currently implement __raw_writeq() */
>>> - *(volatile u64 *)addr = value;
>>> + __raw_writeq(value, addr);
>>> }
>>>
>>> __maybe_weak u8 flash_read8(void *addr)
>>> @@ -176,8 +175,7 @@ __maybe_weak u32 flash_read32(void *addr)
>>>
>>> __maybe_weak u64 flash_read64(void *addr)
>>> {
>>> - /* No architectures currently implement __raw_readq() */
>>> - return *(volatile u64 *)addr;
>>> + return __raw_readq(addr);
>>> }
>>>
>>>
>>> /*-----------------------------------------------------------------------
>>>
>>> --
>>> 2.26.2
>>>
>>
>
>
> Viele Grüße,
> Stefan
>
More information about the U-Boot
mailing list