]> git.openfabrics.org - ~shefty/rdma-dev.git/commitdiff
PCI: Provide a default pcibios_update_irq()
authorThierry Reding <thierry.reding@avionic-design.de>
Mon, 17 Sep 2012 11:22:54 +0000 (13:22 +0200)
committerBjorn Helgaas <bhelgaas@google.com>
Tue, 18 Sep 2012 23:28:21 +0000 (17:28 -0600)
Most architectures implement this in exactly the same way. Instead of
having each architecture duplicate this function, provide a single
implementation in the core and make it a weak symbol so that it can be
overridden on architectures where it is required.

Signed-off-by: Thierry Reding <thierry.reding@avionic-design.de>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
14 files changed:
arch/alpha/kernel/pci.c
arch/arm/kernel/bios32.c
arch/ia64/pci/pci.c
arch/m68k/kernel/pcibios.c
arch/mips/pci/pci.c
arch/sh/drivers/pci/pci.c
arch/sparc/kernel/leon_pci.c
arch/sparc/kernel/pci.c
arch/tile/kernel/pci.c
arch/tile/kernel/pci_gx.c
arch/unicore32/kernel/pci.c
arch/x86/pci/visws.c
arch/xtensa/kernel/pci.c
drivers/pci/setup-irq.c

index 920392f61ef20d7b5ed2749ebda824833618daa5..ef757147cbf9ae2e63c74c44a7c01d9528db9e10 100644 (file)
@@ -256,12 +256,6 @@ pcibios_fixup_bus(struct pci_bus *bus)
        }
 }
 
-void
-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)
 {
index 0174fe6effefa47cd396c11c0d211dcaa08f043e..9cf16b83bbb5029e0c350ebec9c4952167d9f50e 100644 (file)
@@ -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 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.
index 27db6a8afc4414c107cac351fea4da21c572004d..a7ebe94402715200ef1a72d1e3c5908d48135ce1 100644 (file)
@@ -461,14 +461,6 @@ void pcibios_set_master (struct pci_dev *dev)
        /* No special bus mastering setup handling */
 }
 
-void
-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)
 {
index b2988aa1840bd55160277c14a6ac7a1721fdefe3..73fa0b56a06c7613523bdd5297be2da86df64647 100644 (file)
@@ -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;
index 64f0419e5856fdb6e983eae4b52009785a02c2cf..04e35bcde07cd2ff748dc957ae04314bd28d8ae9 100644 (file)
@@ -313,12 +313,6 @@ void __devinit pcibios_fixup_bus(struct pci_bus *bus)
        }
 }
 
-void
-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);
index 1bd3e089b74f6d8627e36c084f9ac05a1714bf1b..a7e078f2e2e46d660abd41779cc856ac144bd9dc 100644 (file)
@@ -192,11 +192,6 @@ int pcibios_enable_device(struct pci_dev *dev, int mask)
        return pci_enable_resources(dev, mask);
 }
 
-void 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,
index 404621b775fc7a98336660d8e3b6fefe169b6f22..fc05211615685a787ab0a38aa80fe067db105068 100644 (file)
@@ -102,15 +102,6 @@ int pcibios_enable_device(struct pci_dev *dev, int mask)
        return pci_enable_resources(dev, mask);
 }
 
-void 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
index 065b88c4f868a67da15d6025f24ff3df453372dc..acc8c838ff72d77dfd30cb01d96fe76316a69f53 100644 (file)
@@ -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)
 {
index 6245bba8b1d6db9a37b7fdfad87843a104683d02..dbdab34f27cba0f5f7a14b6ad7d0c1c500675772 100644 (file)
@@ -403,14 +403,6 @@ void pcibios_set_master(struct pci_dev *dev)
        /* No special bus mastering setup handling. */
 }
 
-/*
- * This is called from the generic Linux layer.
- */
-void 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.
index 5faad0b1bd2142c096d8dfc1d465a6bc754daab6..2ba6d052f85d641d8ae16cb19ffbf313b649d11d 100644 (file)
@@ -1033,14 +1033,6 @@ char __devinit *pcibios_setup(char *str)
        return str;
 }
 
-/*
- * This is called from the generic Linux layer.
- */
-void 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
index c07ecc5baff68a9fa80188c858346047a123160e..b0056f68d3211cb8ccf31d2d417e33ebcd3ef7b2 100644 (file)
@@ -154,14 +154,6 @@ void __init puv3_pci_adjust_zones(unsigned long *zone_size,
        zhole_size[0] = 0;
 }
 
-void 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.
index 9d736e7ff642f2c8636cb553282d825ada06190b..3e6d2a6db86681d3a1731f7a7956711bdcd36e50 100644 (file)
@@ -62,11 +62,6 @@ out:
        return irq;
 }
 
-void 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;
index 6f9b40c47e9919c1fd8f78c544ed63db2f42a8b0..54354de38a706f0f5e72bb2661f6f768c9fcae3b 100644 (file)
@@ -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
-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;
index 270ae7b971203108aa396cbd561f87013a78bb43..9bd6864ec5d3fc3b6e18e2505f884a6dc8f94166 100644 (file)
 #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
 pdev_fixup_irq(struct pci_dev *dev,