[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20230109104054.gabdvjxyawdfbqii@skbuf>
Date: Mon, 9 Jan 2023 12:40:54 +0200
From: Vladimir Oltean <vladimir.oltean@....com>
To: Arnd Bergmann <arnd@...db.de>
Cc: linux-arch@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Sparse warning when using ioread64() from include/asm-generic/io.h
Hi,
I would like to get rid of the following sparse error in the enetc
driver (for arm64), which uses ioread64().
../drivers/net/ethernet/freescale/enetc/enetc_ethtool.c: note: in included file
(through ../arch/arm64/include/asm/io.h, ../include/linux/io.h,
../include/linux/irq.h, ../include/asm-generic/hardirq.h,
../arch/arm64/include/asm/hardirq.h, ...):
../include/asm-generic/io.h:239:15: warning: cast to restricted __le64
The trouble is I don't understand why the casts to __le64 and use of
__le64_to_cpu() are even needed, when everything seems to be native
endianness. I've seen commit c1d55d50139b ("asm-generic/io.h: Fix sparse
warnings on big-endian architectures"), but that doesn't claim to fix
anything for little endian (and doesn't touch the 64 accessors, for some
reason).
Could you please help?
Thanks,
Vladimir
Powered by blists - more mailing lists