Skip to content

Commit

Permalink
PCI: Use a weak symbol for the empty version of pcibios_add_platform_…
Browse files Browse the repository at this point in the history
…entries()

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>
  • Loading branch information
Michael Ellerman authored and Greg Kroah-Hartman committed Jul 11, 2007
1 parent d556ad4 commit 575e334
Show file tree
Hide file tree
Showing 23 changed files with 7 additions and 83 deletions.
6 changes: 0 additions & 6 deletions arch/ppc/kernel/pci.c
Original file line number Diff line number Diff line change
Expand Up @@ -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)
{
Expand Down
5 changes: 5 additions & 0 deletions drivers/pci/pci-sysfs.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
5 changes: 0 additions & 5 deletions include/asm-alpha/pci.h
Original file line number Diff line number Diff line change
Expand Up @@ -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__ */
Expand Down
4 changes: 0 additions & 4 deletions include/asm-arm/pci.h
Original file line number Diff line number Diff line change
Expand Up @@ -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
4 changes: 0 additions & 4 deletions include/asm-cris/pci.h
Original file line number Diff line number Diff line change
Expand Up @@ -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 */
Expand Down
4 changes: 0 additions & 4 deletions include/asm-frv/pci.h
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down
4 changes: 0 additions & 4 deletions include/asm-h8300/pci.h
Original file line number Diff line number Diff line change
Expand Up @@ -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 */
4 changes: 0 additions & 4 deletions include/asm-i386/pci.h
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand Down
4 changes: 0 additions & 4 deletions include/asm-ia64/pci.h
Original file line number Diff line number Diff line change
Expand Up @@ -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);

Expand Down
4 changes: 0 additions & 4 deletions include/asm-m68k/pci.h
Original file line number Diff line number Diff line change
Expand Up @@ -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 */
4 changes: 0 additions & 4 deletions include/asm-m68knommu/pci.h
Original file line number Diff line number Diff line change
Expand Up @@ -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 */
4 changes: 0 additions & 4 deletions include/asm-mips/pci.h
Original file line number Diff line number Diff line change
Expand Up @@ -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);

Expand Down
4 changes: 0 additions & 4 deletions include/asm-parisc/pci.h
Original file line number Diff line number Diff line change
Expand Up @@ -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 */
Expand Down
2 changes: 0 additions & 2 deletions include/asm-powerpc/pci.h
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand Down
2 changes: 0 additions & 2 deletions include/asm-ppc/pci.h
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand Down
4 changes: 0 additions & 4 deletions include/asm-sh/pci.h
Original file line number Diff line number Diff line change
Expand Up @@ -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 */
Expand Down
4 changes: 0 additions & 4 deletions include/asm-sh64/pci.h
Original file line number Diff line number Diff line change
Expand Up @@ -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 */
Expand Down
4 changes: 0 additions & 4 deletions include/asm-sparc/pci.h
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down
4 changes: 0 additions & 4 deletions include/asm-sparc64/pci.h
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
4 changes: 0 additions & 4 deletions include/asm-v850/pci.h
Original file line number Diff line number Diff line change
Expand Up @@ -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__ */
4 changes: 0 additions & 4 deletions include/asm-x86_64/pci.h
Original file line number Diff line number Diff line change
Expand Up @@ -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 */
Expand Down
4 changes: 0 additions & 4 deletions include/asm-xtensa/pci.h
Original file line number Diff line number Diff line change
Expand Up @@ -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 */
Expand Down
2 changes: 2 additions & 0 deletions include/linux/pci.h
Original file line number Diff line number Diff line change
Expand Up @@ -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 */

0 comments on commit 575e334

Please sign in to comment.