Subject: [PATCH 00/12] Miscellaneous Sparse fixes

From: Benjamin Gray <[email-masked]>
Date: Wed, 11 Oct 2023 16:36:59 +1100

There are many Sparse warnings in the kernel, including the powerpc
directory. This series provides fixes for some low-hanging fruit found
when trying to triage the warnings earlier this year. It addresses about
100 warnings (many have the same root cause).

I know there's concerns about making it harder to backport things. In
general, as someone who was not around during the development of these
features, I think that it is useful make the annotations as correct as
possible. But it's no fuss if some/all of the patches are nacked for this
reason. I just figured some of it might be useful instead of continuing to
sit on it indefinitely.

Benjamin Gray (12):
  powerpc/xive: Fix endian conversion size
  powerpc/pseries: Restructure hvc_get_chars() endianness
  powerpc: Explicitly reverse bytes when checking for byte reversal
  powerpc: Use NULL instead of 0 for null pointers
  powerpc: Remove extern from function implementations
  powerpc: Annotate endianness of various variables and functions
  powerpc/kvm: Force cast endianness of KVM shared regs
  powerpc/opal: Annotate out param endianness
  powerpc/uaccess: Cast away __user annotation after verification
  powerpc: Cast away __iomem in low level IO routines
  powerpc/eeh: Remove unnecessary cast
  powerpc/fadump: Annotate endianness cast with __force

 arch/powerpc/include/asm/book3s/64/pgtable.h    |  2 +-
 arch/powerpc/include/asm/imc-pmu.h              | 16 ++++++++--------
 arch/powerpc/include/asm/kvm_ppc.h              |  8 ++++----
 arch/powerpc/include/asm/opal.h                 |  2 +-
 arch/powerpc/include/asm/uaccess.h              |  2 +-
 arch/powerpc/kernel/eeh_driver.c                |  4 ++--
 arch/powerpc/kernel/io.c                        | 12 ++++++------
 arch/powerpc/kernel/iommu.c                     |  8 ++++----
 arch/powerpc/kernel/prom_init.c                 |  2 +-
 arch/powerpc/kernel/setup_64.c                  |  2 +-
 arch/powerpc/kernel/traps.c                     |  4 ++--
 arch/powerpc/kexec/core_64.c                    |  4 ++--
 arch/powerpc/kexec/file_load_64.c               |  6 +++---
 arch/powerpc/kvm/book3s_64_vio.c                |  8 ++++----
 arch/powerpc/kvm/book3s_xive_native.c           |  2 +-
 arch/powerpc/mm/drmem.c                         |  2 +-
 arch/powerpc/net/bpf_jit_comp.c                 |  8 ++++----
 arch/powerpc/perf/hv-24x7.c                     |  2 +-
 arch/powerpc/perf/imc-pmu.c                     | 11 ++++++-----
 arch/powerpc/platforms/4xx/soc.c                |  2 +-
 arch/powerpc/platforms/powermac/feature.c       |  3 ++-
 arch/powerpc/platforms/powernv/opal-fadump.h    |  2 +-
 arch/powerpc/platforms/pseries/hotplug-memory.c |  3 ++-
 arch/powerpc/platforms/pseries/hvconsole.c      |  6 +++---
 arch/powerpc/platforms/pseries/lpar.c           |  8 ++++----
 arch/powerpc/sysdev/mpic.c                      |  2 +-
 arch/powerpc/sysdev/xive/native.c               |  2 +-
 27 files changed, 68 insertions(+), 65 deletions(-)

-- 
2.39.2