[PATCH 00/20] x86: address -Wmissing-prototype warnings

Arnd Bergmann posted 20 patches 11 months ago
Failed in applying to current master (apply log)
There is a newer version of this series
arch/x86/boot/compressed/error.c          |  2 +-
arch/x86/boot/compressed/error.h          |  2 +-
arch/x86/entry/vdso/vgetcpu.c             |  1 +
arch/x86/include/asm/div64.h              |  2 ++
arch/x86/include/asm/doublefault.h        |  4 ++++
arch/x86/include/asm/ftrace.h             |  3 +++
arch/x86/include/asm/mce.h                |  3 +++
arch/x86/include/asm/qspinlock_paravirt.h |  2 ++
arch/x86/include/asm/syscall.h            |  6 ++++--
arch/x86/kernel/apic/ipi.c                |  2 ++
arch/x86/kernel/doublefault_32.c          |  1 +
arch/x86/kernel/ftrace.c                  |  3 ---
arch/x86/kernel/head32.c                  |  1 +
arch/x86/kernel/paravirt.c                |  2 ++
arch/x86/kernel/platform-quirks.c         |  1 +
arch/x86/lib/usercopy_64.c                |  1 +
arch/x86/math-emu/fpu_entry.c             |  1 +
arch/x86/mm/highmem_32.c                  |  1 +
arch/x86/pci/ce4100.c                     |  4 ++--
arch/x86/platform/olpc/olpc_dt.c          |  2 +-
arch/x86/purgatory/purgatory.c            |  1 +
arch/x86/video/fbdev.c                    |  1 +
arch/x86/xen/efi.c                        |  2 ++
arch/x86/xen/smp.h                        |  3 +++
arch/x86/xen/xen-ops.h                    | 14 ++++++++++++++
include/linux/io.h                        |  5 +++++
include/linux/olpc-ec.h                   |  2 ++
include/linux/suspend.h                   |  4 ++++
include/xen/xen.h                         |  3 +++
kernel/locking/qspinlock_paravirt.h       | 20 ++++++++++----------
kernel/power/power.h                      |  5 -----
mm/internal.h                             |  6 ------
32 files changed, 79 insertions(+), 31 deletions(-)
[PATCH 00/20] x86: address -Wmissing-prototype warnings
Posted by Arnd Bergmann 11 months ago
From: Arnd Bergmann <arnd@arndb.de>

This addresses all x86 specific prototype warnings. The majority of the
patches should be straightforward, either adding an #include statement
to get the right header, or ensuring that an unused global function is
left out of the build when the prototype is hidden.

The ones that are a bit awkward are those that just add a prototype to
shut up the warning, but the prototypes are never used for calling the
function because the only caller is in assembler code. I tried to come up
with other ways to shut up the compiler using the asmlinkage annotation,
but with no success.

All of the warnings have to be addressed in some form before the warning
can be enabled by default.

    Arnd

Link: https://people.kernel.org/arnd/missing-prototype-warnings-in-the-kernel


Arnd Bergmann (20):
  x86: move prepare_ftrace_return prototype to header
  x86: ce4100: Mark local functions as 'static'
  x86: apic: hide unused safe_smp_processor_id on UP
  x86: avoid unneeded __div64_32 function definition
  x86: head: add dummy prototype for mk_early_pgtbl_32
  x86: math-emu: include asm/fpu/regset.h
  x86: doublefault: avoid missing-prototype warnings
  x86: highmem: include asm/numa.h for set_highmem_pages_init
  x86: platform_quirks: include linux/pnp.h for arch_pnpbios_disabled
  x86: xen: add missing prototypes
  x86: entry: add  do_SYSENTER_32() prototype
  x86: qspinlock-paravirt: fix mising-prototype warnings
  x86: hibernate: declare global functions in suspend.h
  x86: fbdev: include asm/fb.h as needed
  x86: mce: add copy_mc_fragile_handle_tail prototype
  x86: vdso: include vdso/processor.h
  x86: usercopy: include arch_wb_cache_pmem declaration
  x86: ioremap: add early_memremap_pgprot_adjust prototype
  x86: purgatory: include header for warn() declaration
  x86: olpc: avoid missing-prototype warnings

 arch/x86/boot/compressed/error.c          |  2 +-
 arch/x86/boot/compressed/error.h          |  2 +-
 arch/x86/entry/vdso/vgetcpu.c             |  1 +
 arch/x86/include/asm/div64.h              |  2 ++
 arch/x86/include/asm/doublefault.h        |  4 ++++
 arch/x86/include/asm/ftrace.h             |  3 +++
 arch/x86/include/asm/mce.h                |  3 +++
 arch/x86/include/asm/qspinlock_paravirt.h |  2 ++
 arch/x86/include/asm/syscall.h            |  6 ++++--
 arch/x86/kernel/apic/ipi.c                |  2 ++
 arch/x86/kernel/doublefault_32.c          |  1 +
 arch/x86/kernel/ftrace.c                  |  3 ---
 arch/x86/kernel/head32.c                  |  1 +
 arch/x86/kernel/paravirt.c                |  2 ++
 arch/x86/kernel/platform-quirks.c         |  1 +
 arch/x86/lib/usercopy_64.c                |  1 +
 arch/x86/math-emu/fpu_entry.c             |  1 +
 arch/x86/mm/highmem_32.c                  |  1 +
 arch/x86/pci/ce4100.c                     |  4 ++--
 arch/x86/platform/olpc/olpc_dt.c          |  2 +-
 arch/x86/purgatory/purgatory.c            |  1 +
 arch/x86/video/fbdev.c                    |  1 +
 arch/x86/xen/efi.c                        |  2 ++
 arch/x86/xen/smp.h                        |  3 +++
 arch/x86/xen/xen-ops.h                    | 14 ++++++++++++++
 include/linux/io.h                        |  5 +++++
 include/linux/olpc-ec.h                   |  2 ++
 include/linux/suspend.h                   |  4 ++++
 include/xen/xen.h                         |  3 +++
 kernel/locking/qspinlock_paravirt.h       | 20 ++++++++++----------
 kernel/power/power.h                      |  5 -----
 mm/internal.h                             |  6 ------
 32 files changed, 79 insertions(+), 31 deletions(-)

-- 
2.39.2

Cc: Thomas Gleixner <tglx@linutronix.de> (maintainer:X86 ARCHITECTURE (32-BIT AND 64-BIT),commit_signer:1/5=20%,authored:1/5=20%)
Cc: Ingo Molnar <mingo@redhat.com> (maintainer:X86 ARCHITECTURE (32-BIT AND 64-BIT))
Cc: Borislav Petkov <bp@alien8.de> (maintainer:X86 ARCHITECTURE (32-BIT AND 64-BIT),commit_signer:1/3=33%,commit_signer:1/5=20%,authored:1/5=20%,removed_lines:40/51=78%)
Cc: Dave Hansen <dave.hansen@linux.intel.com> (maintainer:X86 ARCHITECTURE (32-BIT AND 64-BIT),commit_signer:1/5=20%)
Cc: x86@kernel.org (maintainer:X86 ARCHITECTURE (32-BIT AND 64-BIT))
Cc: "H. Peter Anvin" <hpa@zytor.com> (reviewer:X86 ARCHITECTURE (32-BIT AND 64-BIT))
Cc: Andy Lutomirski <luto@kernel.org> (maintainer:X86 VDSO)
Cc: Steven Rostedt <rostedt@goodmis.org> (maintainer:FUNCTION HOOKS (FTRACE))
Cc: Masami Hiramatsu <mhiramat@kernel.org> (maintainer:FUNCTION HOOKS (FTRACE))
Cc: Mark Rutland <mark.rutland@arm.com> (reviewer:FUNCTION HOOKS (FTRACE))
Cc: Juergen Gross <jgross@suse.com> (supporter:PARAVIRT_OPS INTERFACE,commit_signer:2/5=40%,authored:1/5=20%,added_lines:20/31=65%,removed_lines:27/35=77%)
Cc: "Srivatsa S. Bhat (VMware)" <srivatsa@csail.mit.edu> (supporter:PARAVIRT_OPS INTERFACE)
Cc: Alexey Makhalov <amakhalov@vmware.com> (reviewer:PARAVIRT_OPS INTERFACE)
Cc: VMware PV-Drivers Reviewers <pv-drivers@vmware.com> (reviewer:PARAVIRT_OPS INTERFACE)
Cc: Peter Zijlstra <peterz@infradead.org> (maintainer:X86 MM,commit_signer:4/5=80%,commit_signer:1/2=50%)
Cc: Darren Hart <dvhart@infradead.org> (reviewer:X86 PLATFORM DRIVERS - ARCH)
Cc: Andy Shevchenko <andy@infradead.org> (reviewer:X86 PLATFORM DRIVERS - ARCH)
Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com> (reviewer:XEN HYPERVISOR X86)
Cc: "Rafael J. Wysocki" <rafael@kernel.org> (supporter:HIBERNATION (aka Software Suspend, aka swsusp))
Cc: linux-kernel@vger.kernel.org (open list:X86 ARCHITECTURE (32-BIT AND 64-BIT))
Cc: linux-trace-kernel@vger.kernel.org (open list:FUNCTION HOOKS (FTRACE))
Cc: virtualization@lists.linux-foundation.org (open list:PARAVIRT_OPS INTERFACE)
Cc: linux-pci@vger.kernel.org (open list:PCI SUBSYSTEM)
Cc: platform-driver-x86@vger.kernel.org (open list:X86 PLATFORM DRIVERS - ARCH)
Cc: xen-devel@lists.xenproject.org (moderated list:XEN HYPERVISOR X86)
Cc: linux-pm@vger.kernel.org (open list:HIBERNATION (aka Software Suspend, aka swsusp))
Cc: linux-mm@kvack.org (open list:MEMORY MANAGEMENT)
Re: [PATCH 00/20] x86: address -Wmissing-prototype warnings
Posted by Dave Hansen 11 months ago
On 5/16/23 12:35, Arnd Bergmann wrote:
> The ones that are a bit awkward are those that just add a prototype to
> shut up the warning, but the prototypes are never used for calling the
> function because the only caller is in assembler code. I tried to come up
> with other ways to shut up the compiler using the asmlinkage annotation,
> but with no success.

I went looking for the same thing.  It's too bad gcc doesn't have an
__attribute__ for it.
Re: [PATCH 00/20] x86: address -Wmissing-prototype warnings
Posted by Dave Hansen 11 months ago
On 5/16/23 12:35, Arnd Bergmann wrote:
> From: Arnd Bergmann <arnd@arndb.de>
> 
> This addresses all x86 specific prototype warnings. The majority of the
> patches should be straightforward, either adding an #include statement
> to get the right header, or ensuring that an unused global function is
> left out of the build when the prototype is hidden.
> 
> The ones that are a bit awkward are those that just add a prototype to
> shut up the warning, but the prototypes are never used for calling the
> function because the only caller is in assembler code. I tried to come up
> with other ways to shut up the compiler using the asmlinkage annotation,
> but with no success.
> 
> All of the warnings have to be addressed in some form before the warning
> can be enabled by default.

I picked up the ones that were blatantly obvious, but left out 03, 04,
10, 12 and 19 for the moment.

BTW, I think the i386 allyesconfig is getting pretty lightly tested
these days.  I think you and I hit the same mlx4 __bad_copy_from()
compile issue.
Re: [PATCH 00/20] x86: address -Wmissing-prototype warnings
Posted by Arnd Bergmann 11 months ago
On Thu, May 18, 2023, at 23:56, Dave Hansen wrote:
> On 5/16/23 12:35, Arnd Bergmann wrote:
>> 
>> All of the warnings have to be addressed in some form before the warning
>> can be enabled by default.
>
> I picked up the ones that were blatantly obvious, but left out 03, 04,
> 10, 12 and 19 for the moment.

Ok, thanks!

I've already sent a fixed version of patch 10, let me know if you
need anything else for the other ones.

> BTW, I think the i386 allyesconfig is getting pretty lightly tested
> these days.  I think you and I hit the same mlx4 __bad_copy_from()
> compile issue.

I did all my testing on randconfig builds, so I probably caught a lot
of the more obscure corner cases, but it doesn't always hit everything
that is in allyesconfig/allmodconfig.

       Arnd
Re: [PATCH 00/20] x86: address -Wmissing-prototype warnings
Posted by Andy Shevchenko 11 months ago
On Fri, May 19, 2023 at 12:56 AM Dave Hansen <dave.hansen@intel.com> wrote:
> On 5/16/23 12:35, Arnd Bergmann wrote:

> I picked up the ones that were blatantly obvious, but left out 03, 04,
> 10, 12 and 19 for the moment.

Btw, there is series that went unnoticed

https://lore.kernel.org/all/20211119110017.48510-1-andriy.shevchenko@linux.intel.com/

I dunno why.

-- 
With Best Regards,
Andy Shevchenko