Skip to content

Commit

Permalink
Merge branch 'pci/thierry-fixup-irqs' into next
Browse files Browse the repository at this point in the history
* pci/thierry-fixup-irqs:
  PCI: Provide a default pcibios_update_irq()
  PCI: Discard __init annotations for pci_fixup_irqs() and related functions
  • Loading branch information
bjorn-helgaas committed Sep 19, 2012
2 parents 8704936 + 8885b7b commit 9b9a6d2
Show file tree
Hide file tree
Showing 14 changed files with 7 additions and 91 deletions.
6 changes: 0 additions & 6 deletions arch/alpha/kernel/pci.c
Original file line number Diff line number Diff line change
Expand Up @@ -256,12 +256,6 @@ pcibios_fixup_bus(struct pci_bus *bus)
}
}

void __init
pcibios_update_irq(struct pci_dev *dev, int irq)
{
pci_write_config_byte(dev, PCI_INTERRUPT_LINE, irq);
}

int
pcibios_enable_device(struct pci_dev *dev, int mask)
{
Expand Down
9 changes: 0 additions & 9 deletions arch/arm/kernel/bios32.c
Original file line number Diff line number Diff line change
Expand Up @@ -270,15 +270,6 @@ static void __devinit pci_fixup_it8152(struct pci_dev *dev)
}
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_ITE, PCI_DEVICE_ID_ITE_8152, pci_fixup_it8152);



void __devinit pcibios_update_irq(struct pci_dev *dev, int irq)
{
if (debug_pci)
printk("PCI: Assigning IRQ %02d to %s\n", irq, pci_name(dev));
pci_write_config_byte(dev, PCI_INTERRUPT_LINE, irq);
}

/*
* If the bus contains any of these devices, then we must not turn on
* parity checking of any kind. Currently this is CyberPro 20x0 only.
Expand Down
8 changes: 0 additions & 8 deletions arch/ia64/pci/pci.c
Original file line number Diff line number Diff line change
Expand Up @@ -461,14 +461,6 @@ void pcibios_set_master (struct pci_dev *dev)
/* No special bus mastering setup handling */
}

void __devinit
pcibios_update_irq (struct pci_dev *dev, int irq)
{
pci_write_config_byte(dev, PCI_INTERRUPT_LINE, irq);

/* ??? FIXME -- record old value for shutdown. */
}

int
pcibios_enable_device (struct pci_dev *dev, int mask)
{
Expand Down
5 changes: 0 additions & 5 deletions arch/m68k/kernel/pcibios.c
Original file line number Diff line number Diff line change
Expand Up @@ -87,11 +87,6 @@ int pcibios_enable_device(struct pci_dev *dev, int mask)
return 0;
}

void pcibios_update_irq(struct pci_dev *dev, int irq)
{
pci_write_config_byte(dev, PCI_INTERRUPT_LINE, irq);
}

void __devinit pcibios_fixup_bus(struct pci_bus *bus)
{
struct pci_dev *dev;
Expand Down
6 changes: 0 additions & 6 deletions arch/mips/pci/pci.c
Original file line number Diff line number Diff line change
Expand Up @@ -313,12 +313,6 @@ void __devinit pcibios_fixup_bus(struct pci_bus *bus)
}
}

void __init
pcibios_update_irq(struct pci_dev *dev, int irq)
{
pci_write_config_byte(dev, PCI_INTERRUPT_LINE, irq);
}

#ifdef CONFIG_HOTPLUG
EXPORT_SYMBOL(PCIBIOS_MIN_IO);
EXPORT_SYMBOL(PCIBIOS_MIN_MEM);
Expand Down
5 changes: 0 additions & 5 deletions arch/sh/drivers/pci/pci.c
Original file line number Diff line number Diff line change
Expand Up @@ -192,11 +192,6 @@ int pcibios_enable_device(struct pci_dev *dev, int mask)
return pci_enable_resources(dev, mask);
}

void __init pcibios_update_irq(struct pci_dev *dev, int irq)
{
pci_write_config_byte(dev, PCI_INTERRUPT_LINE, irq);
}

static void __init
pcibios_bus_report_status_early(struct pci_channel *hose,
int top_bus, int current_bus,
Expand Down
9 changes: 0 additions & 9 deletions arch/sparc/kernel/leon_pci.c
Original file line number Diff line number Diff line change
Expand Up @@ -102,15 +102,6 @@ int pcibios_enable_device(struct pci_dev *dev, int mask)
return pci_enable_resources(dev, mask);
}

void __devinit pcibios_update_irq(struct pci_dev *dev, int irq)
{
#ifdef CONFIG_PCI_DEBUG
printk(KERN_DEBUG "LEONPCI: Assigning IRQ %02d to %s\n", irq,
pci_name(dev));
#endif
pci_write_config_byte(dev, PCI_INTERRUPT_LINE, irq);
}

/* in/out routines taken from pcic.c
*
* This probably belongs here rather than ioport.c because
Expand Down
4 changes: 0 additions & 4 deletions arch/sparc/kernel/pci.c
Original file line number Diff line number Diff line change
Expand Up @@ -622,10 +622,6 @@ void __devinit pcibios_fixup_bus(struct pci_bus *pbus)
{
}

void pcibios_update_irq(struct pci_dev *pdev, int irq)
{
}

resource_size_t pcibios_align_resource(void *data, const struct resource *res,
resource_size_t size, resource_size_t align)
{
Expand Down
8 changes: 0 additions & 8 deletions arch/tile/kernel/pci.c
Original file line number Diff line number Diff line change
Expand Up @@ -389,14 +389,6 @@ void pcibios_set_master(struct pci_dev *dev)
/* No special bus mastering setup handling. */
}

/*
* This is called from the generic Linux layer.
*/
void __devinit pcibios_update_irq(struct pci_dev *dev, int irq)
{
pci_write_config_byte(dev, PCI_INTERRUPT_LINE, irq);
}

/*
* Enable memory and/or address decoding, as appropriate, for the
* device described by the 'dev' struct.
Expand Down
8 changes: 0 additions & 8 deletions arch/tile/kernel/pci_gx.c
Original file line number Diff line number Diff line change
Expand Up @@ -1033,14 +1033,6 @@ char __devinit *pcibios_setup(char *str)
return str;
}

/*
* This is called from the generic Linux layer.
*/
void __devinit pcibios_update_irq(struct pci_dev *dev, int irq)
{
pci_write_config_byte(dev, PCI_INTERRUPT_LINE, irq);
}

/*
* Enable memory address decoding, as appropriate, for the
* device described by the 'dev' struct. The I/O decoding
Expand Down
8 changes: 0 additions & 8 deletions arch/unicore32/kernel/pci.c
Original file line number Diff line number Diff line change
Expand Up @@ -154,14 +154,6 @@ void __init puv3_pci_adjust_zones(unsigned long *zone_size,
zhole_size[0] = 0;
}

void __devinit pcibios_update_irq(struct pci_dev *dev, int irq)
{
if (debug_pci)
printk(KERN_DEBUG "PCI: Assigning IRQ %02d to %s\n",
irq, pci_name(dev));
pci_write_config_byte(dev, PCI_INTERRUPT_LINE, irq);
}

/*
* If the bus contains any of these devices, then we must not turn on
* parity checking of any kind.
Expand Down
5 changes: 0 additions & 5 deletions arch/x86/pci/visws.c
Original file line number Diff line number Diff line change
Expand Up @@ -62,11 +62,6 @@ static int __init visws_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
return irq;
}

void __init pcibios_update_irq(struct pci_dev *dev, int irq)
{
pci_write_config_byte(dev, PCI_INTERRUPT_LINE, irq);
}

int __init pci_visws_init(void)
{
pcibios_enable_irq = &pci_visws_enable_irq;
Expand Down
8 changes: 0 additions & 8 deletions arch/xtensa/kernel/pci.c
Original file line number Diff line number Diff line change
Expand Up @@ -210,14 +210,6 @@ void pcibios_set_master(struct pci_dev *dev)
/* No special bus mastering setup handling */
}

/* the next one is stolen from the alpha port... */

void __init
pcibios_update_irq(struct pci_dev *dev, int irq)
{
pci_write_config_byte(dev, PCI_INTERRUPT_LINE, irq);
}

int pcibios_enable_device(struct pci_dev *dev, int mask)
{
u16 cmd, old_cmd;
Expand Down
9 changes: 7 additions & 2 deletions drivers/pci/setup-irq.c
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,13 @@
#include <linux/ioport.h>
#include <linux/cache.h>

void __weak pcibios_update_irq(struct pci_dev *dev, int irq)
{
dev_dbg(&dev->dev, "assigning IRQ %02d\n", irq);
pci_write_config_byte(dev, PCI_INTERRUPT_LINE, irq);
}

static void __init
static void
pdev_fixup_irq(struct pci_dev *dev,
u8 (*swizzle)(struct pci_dev *, u8 *),
int (*map_irq)(const struct pci_dev *, u8, u8))
Expand Down Expand Up @@ -54,7 +59,7 @@ pdev_fixup_irq(struct pci_dev *dev,
pcibios_update_irq(dev, irq);
}

void __init
void
pci_fixup_irqs(u8 (*swizzle)(struct pci_dev *, u8 *),
int (*map_irq)(const struct pci_dev *, u8, u8))
{
Expand Down

0 comments on commit 9b9a6d2

Please sign in to comment.