PCI: Use a weak symbol for the empty version of pcibios_add_platform_entries()
authorMichael Ellerman <michael@ellerman.id.au>
Tue, 8 May 2007 02:03:07 +0000 (12:03 +1000)
committerGreg Kroah-Hartman <gregkh@suse.de>
Wed, 11 Jul 2007 23:02:07 +0000 (16:02 -0700)
I'm not sure if this is going to fly, weak symbols work on the compilers I'm
using, but whether they work for all of the affected architectures I can't say.
I've cc'ed as many arch maintainers/lists as I could find.

But assuming they do, we can use a weak empty definition of
pcibios_add_platform_entries() to avoid having an empty definition on every
arch.

Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
23 files changed:
arch/ppc/kernel/pci.c
drivers/pci/pci-sysfs.c
include/asm-alpha/pci.h
include/asm-arm/pci.h
include/asm-cris/pci.h
include/asm-frv/pci.h
include/asm-h8300/pci.h
include/asm-i386/pci.h
include/asm-ia64/pci.h
include/asm-m68k/pci.h
include/asm-m68knommu/pci.h
include/asm-mips/pci.h
include/asm-parisc/pci.h
include/asm-powerpc/pci.h
include/asm-ppc/pci.h
include/asm-sh/pci.h
include/asm-sh64/pci.h
include/asm-sparc/pci.h
include/asm-sparc64/pci.h
include/asm-v850/pci.h
include/asm-x86_64/pci.h
include/asm-xtensa/pci.h
include/linux/pci.h

index 5e723c4c2571b0a3dc886032a92681a9927b9d7c..c2ec13bea006aa5e9c63c0683808a2e68d0f8c44 100644 (file)
@@ -633,12 +633,6 @@ void pcibios_make_OF_bus_map(void)
 {
 }
 
-/* Add sysfs properties */
-void pcibios_add_platform_entries(struct pci_dev *pdev)
-{
-}
-
-
 static int __init
 pcibios_init(void)
 {
index 284e83a527f9d4564c916597f6d65b21b2cff08c..e5737f0b399726bc82e8e7ffa23552826b68c473 100644 (file)
@@ -600,6 +600,11 @@ static struct bin_attribute pcie_config_attr = {
        .write = pci_write_config,
 };
 
+void __attribute__ ((weak)) pcibios_add_platform_entries(struct pci_dev *dev)
+{
+       return;
+}
+
 int __must_check pci_create_sysfs_dev_files (struct pci_dev *pdev)
 {
        struct bin_attribute *rom_attr = NULL;
index 85aa1127c903f832282ba843e3a163de8563dbed..635d6f2b0b03fe3c596b505815b741260d3955ed 100644 (file)
@@ -275,11 +275,6 @@ static inline int pci_proc_domain(struct pci_bus *bus)
        return hose->need_domain_info;
 }
 
-static inline void
-pcibios_add_platform_entries(struct pci_dev *dev)
-{
-}
-
 struct pci_dev *alpha_gendev_to_pci(struct device *dev);
 
 #endif /* __KERNEL__ */
index f21abd4ddac61b8915fb6c437d45378c48b38b0f..9299a3c1ac3705db12e5913cfa71f4322344ea1f 100644 (file)
@@ -76,10 +76,6 @@ pcibios_select_root(struct pci_dev *pdev, struct resource *res)
        return root;
 }
 
-static inline void pcibios_add_platform_entries(struct pci_dev *dev)
-{
-}
-
 #endif /* __KERNEL__ */
  
 #endif
index b2ac8a331da1f9d17fdaf7c60a80b4b9a6ba895b..5f1986ef7db1d6276579cf0ab5ed9279256bf14f 100644 (file)
@@ -89,10 +89,6 @@ extern int pci_mmap_page_range(struct pci_dev *dev, struct vm_area_struct *vma,
                               enum pci_mmap_state mmap_state, int write_combine);
 
 
-static inline void pcibios_add_platform_entries(struct pci_dev *dev)
-{
-}
-
 #endif /* __KERNEL__ */
 
 /* implement the pci_ DMA API in terms of the generic device dma_ one */
index f35a4511e7b91c7a0f815b911678f13edc891005..3aee08c5a44ff73944419e1789faa5fe5bda7c3c 100644 (file)
@@ -22,10 +22,6 @@ struct pci_dev;
 
 #define pcibios_assign_all_busses()    0
 
-static inline void pcibios_add_platform_entries(struct pci_dev *dev)
-{
-}
-
 extern void pcibios_set_master(struct pci_dev *dev);
 
 extern void pcibios_penalize_isa_irq(int irq);
index 0c771b05fdd5db25bdb6210aa28fb0457f25c950..97389b35aa3540f0fbd734afe9fc30c0d61c76de 100644 (file)
@@ -22,8 +22,4 @@ static inline void pcibios_penalize_isa_irq(int irq, int active)
 
 #define PCI_DMA_BUS_IS_PHYS    (1)
 
-static inline void pcibios_add_platform_entries(struct pci_dev *dev)
-{
-}
-
 #endif /* _ASM_H8300_PCI_H */
index 64b6d0baedbce7109c8691095e55b039186750c2..b974bd8ce9c6d9b548524a71e0f41c4ac24a9cc6 100644 (file)
@@ -94,10 +94,6 @@ extern int pci_mmap_page_range(struct pci_dev *dev, struct vm_area_struct *vma,
                               enum pci_mmap_state mmap_state, int write_combine);
 
 
-static inline void pcibios_add_platform_entries(struct pci_dev *dev)
-{
-}
-
 #ifdef CONFIG_PCI
 static inline void pci_dma_burst_advice(struct pci_dev *pdev,
                                        enum pci_dma_burst_strategy *strat,
index 5a5d1c2ce39d1510e1d2a56dc1322929bab25029..26b69280f6c7bd801753e60676b1021919c39f38 100644 (file)
@@ -143,10 +143,6 @@ static inline int pci_proc_domain(struct pci_bus *bus)
        return (pci_domain_nr(bus) != 0);
 }
 
-static inline void pcibios_add_platform_entries(struct pci_dev *dev)
-{
-}
-
 extern void pcibios_resource_to_bus(struct pci_dev *dev,
                struct pci_bus_region *region, struct resource *res);
 
index 9d2c07abe44f90d0657f27894c2fff844b9eeb57..678cb0b52314dac16a1cfb9fc9dbd44b5eeeed16 100644 (file)
@@ -54,8 +54,4 @@ static inline void pcibios_penalize_isa_irq(int irq, int active)
  */
 #define PCI_DMA_BUS_IS_PHYS    (1)
 
-static inline void pcibios_add_platform_entries(struct pci_dev *dev)
-{
-}
-
 #endif /* _ASM_M68K_PCI_H */
index e04c77e1184da3bb8dcce624e70db0fc4281fed8..a99ce768f4a68cf003563e00d3b3d54c77bee0ff 100644 (file)
@@ -30,10 +30,6 @@ static inline int pci_dma_supported(struct pci_dev *hwdev, u64 mask)
  */
 #define pci_dac_dma_supported(pci_dev, mask) (0)
 
-static inline void pcibios_add_platform_entries(struct pci_dev *dev)
-{
-}
-
 #endif /* CONFIG_COMEMPCI */
 
 #endif /* M68KNOMMU_PCI_H */
index a59d54749eef0b2ebc581e35df61cc7d5b997de3..6e8c5540bd27996e46431631dadc07e045921287 100644 (file)
@@ -181,10 +181,6 @@ static inline int pci_proc_domain(struct pci_bus *bus)
 /* implement the pci_ DMA API in terms of the generic device dma_ one */
 #include <asm-generic/pci-dma-compat.h>
 
-static inline void pcibios_add_platform_entries(struct pci_dev *dev)
-{
-}
-
 /* Do platform specific device initialization at pci_enable_device() time */
 extern int pcibios_plat_dev_init(struct pci_dev *dev);
 
index 7b3be9ac0dda3f67032f95ac5c4f8493bf6f1895..c331d49e4584b08a34bd7d15645a21005e92dc34 100644 (file)
@@ -284,10 +284,6 @@ pcibios_select_root(struct pci_dev *pdev, struct resource *res)
        return root;
 }
 
-static inline void pcibios_add_platform_entries(struct pci_dev *dev)
-{
-}
-
 static inline void pcibios_penalize_isa_irq(int irq, int active)
 {
        /* We don't need to penalize isa irq's */
index ce0f13e8eb141d6bc65aedd9aadd92a204d8c577..b36a284bedf327ccceab4349c4c12f981b236f51 100644 (file)
@@ -243,8 +243,6 @@ extern void of_scan_bus(struct device_node *node, struct pci_bus *bus);
 
 extern int pci_read_irq_line(struct pci_dev *dev);
 
-extern void pcibios_add_platform_entries(struct pci_dev *dev);
-
 struct file;
 extern pgprot_t        pci_phys_mem_access_prot(struct file *file,
                                         unsigned long pfn,
index 9d162028dab92809d4d6b49bc9fce254ccc3932b..0a66a6f1059a8232145c2d795923158ba75fff58 100644 (file)
@@ -145,8 +145,6 @@ pcibios_select_root(struct pci_dev *pdev, struct resource *res)
        return root;
 }
 
-extern void pcibios_add_platform_entries(struct pci_dev *dev);
-
 struct file;
 extern pgprot_t        pci_phys_mem_access_prot(struct file *file,
                                         unsigned long pfn,
index b1f9a9e0231e000df1ccf1a40a1a9d3b60427453..6f741f3a5d45ebaf77808a16b8f7a56fba8c92aa 100644 (file)
@@ -134,10 +134,6 @@ int pcibios_map_platform_irq(struct pci_dev *dev, u8 slot, u8 pin);
 int pciauto_assign_resources(int busno, struct pci_channel *hose);
 #endif
 
-static inline void pcibios_add_platform_entries(struct pci_dev *dev)
-{
-}
-
 #endif /* __KERNEL__ */
 
 /* generic pci stuff */
index aa8043089bb695133f19992d87deed7576c4f2db..0a2b2bd48b87acd39bbe57b35270bb14f39eaba9 100644 (file)
@@ -104,10 +104,6 @@ extern void pcibios_fixup_irqs(void);
 extern int pciauto_assign_resources(int busno, struct pci_channel *hose);
 #endif
 
-static inline void pcibios_add_platform_entries(struct pci_dev *dev)
-{
-}
-
 #endif /* __KERNEL__ */
 
 /* generic pci stuff */
index a750c688408bb418d702153619380a9d5100d8d6..a1ff7acc7644c371547124c8e8079718f8508c0d 100644 (file)
@@ -154,10 +154,6 @@ static inline void pci_dma_burst_advice(struct pci_dev *pdev,
 }
 #endif
 
-static inline void pcibios_add_platform_entries(struct pci_dev *dev)
-{
-}
-
 #define PCI_DMA_ERROR_CODE      (~(dma_addr_t)0x0)
 
 static inline int pci_dma_mapping_error(dma_addr_t dma_addr)
index 47cea16e1badd54d867d2add632aa6fdaa96c6e0..202915d827592fdd67dde295af90eedd9f55b101 100644 (file)
@@ -303,10 +303,6 @@ pcibios_bus_to_resource(struct pci_dev *dev, struct resource *res,
 
 extern struct resource *pcibios_select_root(struct pci_dev *, struct resource *);
 
-static inline void pcibios_add_platform_entries(struct pci_dev *dev)
-{
-}
-
 static inline int pci_get_legacy_ide_irq(struct pci_dev *dev, int channel)
 {
        return PCI_IRQ_NONE;
index 4581826e1cac9dcf170edba22a36d8d143ead3e8..de2a7d0a81cc1d7345b1adc9b37eeb4656023d93 100644 (file)
@@ -116,8 +116,4 @@ static inline void pci_dma_burst_advice(struct pci_dev *pdev,
 extern void __iomem *pci_iomap(struct pci_dev *dev, int bar, unsigned long max);
 extern void pci_iounmap (struct pci_dev *dev, void __iomem *addr);
 
-static inline void pcibios_add_platform_entries(struct pci_dev *dev)
-{
-}
-
 #endif /* __V850_PCI_H__ */
index 49c5e9280598729000a42e07483fa5f21da2b538..d95c9e78fe1d654ac0b1057d8808332a1145c3cc 100644 (file)
@@ -135,10 +135,6 @@ static inline void pci_dma_burst_advice(struct pci_dev *pdev,
 extern int pci_mmap_page_range(struct pci_dev *dev, struct vm_area_struct *vma,
                               enum pci_mmap_state mmap_state, int write_combine);
 
-static inline void pcibios_add_platform_entries(struct pci_dev *dev)
-{
-}
-
 #endif /* __KERNEL__ */
 
 /* generic pci stuff */
index 24eb7fc25da830c8fc4f74ac1b0c11efe1a677b8..644411c8e0cad968584e7ad9272c39454e47a9dd 100644 (file)
@@ -74,10 +74,6 @@ int pci_mmap_page_range(struct pci_dev *pdev, struct vm_area_struct *vma,
 /* Tell drivers/pci/proc.c that we have pci_mmap_page_range() */
 #define HAVE_PCI_MMAP  1
 
-static inline void pcibios_add_platform_entries(struct pci_dev *dev)
-{
-}
-
 #endif /* __KERNEL__ */
 
 /* Implement the pci_ DMA API in terms of the generic device dma_ one */
index ac403d74a2221b6f0a031d03ac1b7c86f9365770..18319aba1a572c84da9cf6951dea9aacca008c7d 100644 (file)
@@ -881,5 +881,7 @@ extern int pci_pci_problems;
 extern unsigned long pci_cardbus_io_size;
 extern unsigned long pci_cardbus_mem_size;
 
+extern void pcibios_add_platform_entries(struct pci_dev *dev);
+
 #endif /* __KERNEL__ */
 #endif /* LINUX_PCI_H */