[PATCH 1/1] mtd: cfi_flash: use __raw_writeq(), __raw_readq()

Stefan Roese sr at denx.de
Mon Jun 8 09:27:29 CEST 2020


On 08.06.20 09:12, Heinrich Schuchardt wrote:
> 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?

Sure, why not?

Thanks,
Stefan

> 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
>>
> 


Viele Grüße,
Stefan

-- 
DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-51 Fax: (+49)-8142-66989-80 Email: sr at denx.de


More information about the U-Boot mailing list