2023-08-10 14:33:49

by Arnd Bergmann

[permalink] [raw]
Subject: [PATCH 04/17] pci: sysfs: move declarations to linux/pci.h

From: Arnd Bergmann <[email protected]>

A couple of architectures build the __weak versions of
pci_create_resource_files() and pci_remove_resource_files() but don't
have prototypes for these, which causes warnings:

drivers/pci/pci-sysfs.c:1253:12: error: no previous prototype for 'pci_create_resource_files' [-Werror=missing-prototypes]
1253 | int __weak pci_create_resource_files(struct pci_dev *dev) { return 0; }
drivers/pci/pci-sysfs.c:1254:13: error: no previous prototype for 'pci_remove_resource_files' [-Werror=missing-prototypes]
1254 | void __weak pci_remove_resource_files(struct pci_dev *dev) { return; }

Move the prototypes from alpha architecture into the global header to
avoid these warnings for all of them.

Signed-off-by: Arnd Bergmann <[email protected]>
---
arch/alpha/include/asm/pci.h | 3 ---
include/linux/pci.h | 5 +++++
2 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/arch/alpha/include/asm/pci.h b/arch/alpha/include/asm/pci.h
index 6312656279d79..6c04fcbdc8ed2 100644
--- a/arch/alpha/include/asm/pci.h
+++ b/arch/alpha/include/asm/pci.h
@@ -88,7 +88,4 @@ extern void pci_adjust_legacy_attr(struct pci_bus *bus,
enum pci_mmap_state mmap_type);
#define HAVE_PCI_LEGACY 1

-extern int pci_create_resource_files(struct pci_dev *dev);
-extern void pci_remove_resource_files(struct pci_dev *dev);
-
#endif /* __ALPHA_PCI_H */
diff --git a/include/linux/pci.h b/include/linux/pci.h
index eeb2e6f6130f4..198a399c4b792 100644
--- a/include/linux/pci.h
+++ b/include/linux/pci.h
@@ -2260,6 +2260,11 @@ int pcibios_alloc_irq(struct pci_dev *dev);
void pcibios_free_irq(struct pci_dev *dev);
resource_size_t pcibios_default_alignment(void);

+#if !defined(HAVE_PCI_MMAP) && !defined(ARCH_GENERIC_PCI_MMAP_RESOURCE)
+extern int pci_create_resource_files(struct pci_dev *dev);
+extern void pci_remove_resource_files(struct pci_dev *dev);
+#endif
+
#if defined(CONFIG_PCI_MMCONFIG) || defined(CONFIG_ACPI_MCFG)
void __init pci_mmcfg_early_init(void);
void __init pci_mmcfg_late_init(void);
--
2.39.2



2023-08-10 14:57:01

by Bjorn Helgaas

[permalink] [raw]
Subject: Re: [PATCH 04/17] pci: sysfs: move declarations to linux/pci.h

On Thu, Aug 10, 2023 at 04:19:22PM +0200, Arnd Bergmann wrote:
> From: Arnd Bergmann <[email protected]>
>
> A couple of architectures build the __weak versions of
> pci_create_resource_files() and pci_remove_resource_files() but don't
> have prototypes for these, which causes warnings:
>
> drivers/pci/pci-sysfs.c:1253:12: error: no previous prototype for 'pci_create_resource_files' [-Werror=missing-prototypes]
> 1253 | int __weak pci_create_resource_files(struct pci_dev *dev) { return 0; }
> drivers/pci/pci-sysfs.c:1254:13: error: no previous prototype for 'pci_remove_resource_files' [-Werror=missing-prototypes]
> 1254 | void __weak pci_remove_resource_files(struct pci_dev *dev) { return; }
>
> Move the prototypes from alpha architecture into the global header to
> avoid these warnings for all of them.
>
> Signed-off-by: Arnd Bergmann <[email protected]>

Applied to pci/misc for v6.6, thanks!

> ---
> arch/alpha/include/asm/pci.h | 3 ---
> include/linux/pci.h | 5 +++++
> 2 files changed, 5 insertions(+), 3 deletions(-)
>
> diff --git a/arch/alpha/include/asm/pci.h b/arch/alpha/include/asm/pci.h
> index 6312656279d79..6c04fcbdc8ed2 100644
> --- a/arch/alpha/include/asm/pci.h
> +++ b/arch/alpha/include/asm/pci.h
> @@ -88,7 +88,4 @@ extern void pci_adjust_legacy_attr(struct pci_bus *bus,
> enum pci_mmap_state mmap_type);
> #define HAVE_PCI_LEGACY 1
>
> -extern int pci_create_resource_files(struct pci_dev *dev);
> -extern void pci_remove_resource_files(struct pci_dev *dev);
> -
> #endif /* __ALPHA_PCI_H */
> diff --git a/include/linux/pci.h b/include/linux/pci.h
> index eeb2e6f6130f4..198a399c4b792 100644
> --- a/include/linux/pci.h
> +++ b/include/linux/pci.h
> @@ -2260,6 +2260,11 @@ int pcibios_alloc_irq(struct pci_dev *dev);
> void pcibios_free_irq(struct pci_dev *dev);
> resource_size_t pcibios_default_alignment(void);
>
> +#if !defined(HAVE_PCI_MMAP) && !defined(ARCH_GENERIC_PCI_MMAP_RESOURCE)
> +extern int pci_create_resource_files(struct pci_dev *dev);
> +extern void pci_remove_resource_files(struct pci_dev *dev);
> +#endif
> +
> #if defined(CONFIG_PCI_MMCONFIG) || defined(CONFIG_ACPI_MCFG)
> void __init pci_mmcfg_early_init(void);
> void __init pci_mmcfg_late_init(void);
> --
> 2.39.2
>