sst-linux/arch/powerpc
Michael Ellerman 7bbcd3b1c2 powerpc/io: Avoid clang null pointer arithmetic warnings
[ Upstream commit 03c0f2c2b2220fc9cf8785cd7b61d3e71e24a366 ]

With -Wextra clang warns about pointer arithmetic using a null pointer.
When building with CONFIG_PCI=n, that triggers a warning in the IO
accessors, eg:

  In file included from linux/arch/powerpc/include/asm/io.h:672:
  linux/arch/powerpc/include/asm/io-defs.h:23:1: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
     23 | DEF_PCI_AC_RET(inb, u8, (unsigned long port), (port), pio, port)
        | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  ...
  linux/arch/powerpc/include/asm/io.h:591:53: note: expanded from macro '__do_inb'
    591 | #define __do_inb(port)          readb((PCI_IO_ADDR)_IO_BASE + port);
        |                                       ~~~~~~~~~~~~~~~~~~~~~ ^

That is because when CONFIG_PCI=n, _IO_BASE is defined as 0.

Although _IO_BASE is defined as plain 0, the cast (PCI_IO_ADDR) converts
it to void * before the addition with port happens.

Instead the addition can be done first, and then the cast. The resulting
value will be the same, but avoids the warning, and also avoids void
pointer arithmetic which is apparently non-standard.

Reported-by: Naresh Kamboju <naresh.kamboju@linaro.org>
Closes: https://lore.kernel.org/all/CA+G9fYtEh8zmq8k8wE-8RZwW-Qr927RLTn+KqGnq1F=ptaaNsA@mail.gmail.com
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://msgid.link/20240503075619.394467-1-mpe@ellerman.id.au
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-06-27 13:46:16 +02:00
..
boot
configs
crypto
include powerpc/io: Avoid clang null pointer arithmetic warnings 2024-06-27 13:46:16 +02:00
kernel powerpc/smp: Increase nr_cpu_ids to include the boot CPU 2024-04-03 15:19:26 +02:00
kexec
kvm
lib powerpc: xor_vmx: Add '-mhard-float' to CFLAGS 2024-04-03 15:19:31 +02:00
math-emu
mm mm: fix race between __split_huge_pmd_locked() and GUP-fast 2024-06-16 13:41:38 +02:00
net powerpc/bpf: enforce full ordering for ATOMIC operations with BPF_FETCH 2024-06-16 13:41:42 +02:00
perf powerpc/hv-gpci: Fix the H_GET_PERF_COUNTER_INFO hcall return value checks 2024-03-26 18:20:52 -04:00
platforms powerpc/pseries/lparcfg: drop error message from guest name lookup 2024-06-12 11:03:59 +02:00
purgatory
sysdev powerpc/fsl-soc: hide unused const variable 2024-06-12 11:03:23 +02:00
tools
xmon
Kbuild
Kconfig Revert "powerpc/64s: Increase default stack size to 32KB" 2024-01-31 16:17:10 -08:00
Kconfig.debug
Makefile powerpc: remove checks for binutils older than 2.25 2024-01-25 15:27:18 -08:00
Makefile.postlink