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

Functions __raw_writeq(), __raw_readq() are available for all architectures. So let's use them.
Signed-off-by: Heinrich Schuchardt xypron.glpk@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

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.
Signed-off-by: Heinrich Schuchardt xypron.glpk@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

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)?
Thanks, Stefan
Signed-off-by: Heinrich Schuchardt xypron.glpk@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

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

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@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
participants (2)
-
Heinrich Schuchardt
-
Stefan Roese