projects
/
platform
/
kernel
/
linux-starfive.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
5ded829
)
asm-generic/io.h: suppress endianness warnings for readq() and writeq()
author
Vladimir Oltean
<vladimir.oltean@nxp.com>
Mon, 9 Jan 2023 13:11:52 +0000
(15:11 +0200)
committer
Greg Kroah-Hartman
<gregkh@linuxfoundation.org>
Thu, 11 May 2023 14:02:58 +0000
(23:02 +0900)
[ Upstream commit
d564fa1ff19e893e2971d66e5c8f49dc1cdc8ffc
]
Commit
c1d55d50139b
("asm-generic/io.h: Fix sparse warnings on
big-endian architectures") missed fixing the 64-bit accessors.
Arnd explains in the attached link why the casts are necessary, even if
__raw_readq() and __raw_writeq() do not take endian-specific types.
Link:
https://lore.kernel.org/lkml/9105d6fc-880b-4734-857d-e3d30b87ccf6@app.fastmail.com/
Suggested-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Sasha Levin <sashal@kernel.org>
include/asm-generic/io.h
patch
|
blob
|
history
diff --git
a/include/asm-generic/io.h
b/include/asm-generic/io.h
index
a68f8fb
..
cde032f
100644
(file)
--- a/
include/asm-generic/io.h
+++ b/
include/asm-generic/io.h
@@
-236,7
+236,7
@@
static inline u64 readq(const volatile void __iomem *addr)
log_read_mmio(64, addr, _THIS_IP_);
__io_br();
- val = __le64_to_cpu(__raw_readq(addr));
+ val = __le64_to_cpu(
(__le64 __force)
__raw_readq(addr));
__io_ar(val);
log_post_read_mmio(val, 64, addr, _THIS_IP_);
return val;
@@
-287,7
+287,7
@@
static inline void writeq(u64 value, volatile void __iomem *addr)
{
log_write_mmio(value, 64, addr, _THIS_IP_);
__io_bw();
- __raw_writeq(__cpu_to_le64(value), addr);
+ __raw_writeq(
(u64 __force)
__cpu_to_le64(value), addr);
__io_aw();
log_post_write_mmio(value, 64, addr, _THIS_IP_);
}