Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Merge branch 'pci/thierry-fixup-irqs' into next

* pci/thierry-fixup-irqs:
PCI: Provide a default pcibios_update_irq()
PCI: Discard __init annotations for pci_fixup_irqs() and related functions

+7 -91
-6
arch/alpha/kernel/pci.c
··· 256 256 } 257 257 } 258 258 259 - void __init 260 - pcibios_update_irq(struct pci_dev *dev, int irq) 261 - { 262 - pci_write_config_byte(dev, PCI_INTERRUPT_LINE, irq); 263 - } 264 - 265 259 int 266 260 pcibios_enable_device(struct pci_dev *dev, int mask) 267 261 {
-9
arch/arm/kernel/bios32.c
··· 270 270 } 271 271 DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_ITE, PCI_DEVICE_ID_ITE_8152, pci_fixup_it8152); 272 272 273 - 274 - 275 - void __devinit pcibios_update_irq(struct pci_dev *dev, int irq) 276 - { 277 - if (debug_pci) 278 - printk("PCI: Assigning IRQ %02d to %s\n", irq, pci_name(dev)); 279 - pci_write_config_byte(dev, PCI_INTERRUPT_LINE, irq); 280 - } 281 - 282 273 /* 283 274 * If the bus contains any of these devices, then we must not turn on 284 275 * parity checking of any kind. Currently this is CyberPro 20x0 only.
-8
arch/ia64/pci/pci.c
··· 461 461 /* No special bus mastering setup handling */ 462 462 } 463 463 464 - void __devinit 465 - pcibios_update_irq (struct pci_dev *dev, int irq) 466 - { 467 - pci_write_config_byte(dev, PCI_INTERRUPT_LINE, irq); 468 - 469 - /* ??? FIXME -- record old value for shutdown. */ 470 - } 471 - 472 464 int 473 465 pcibios_enable_device (struct pci_dev *dev, int mask) 474 466 {
-5
arch/m68k/kernel/pcibios.c
··· 87 87 return 0; 88 88 } 89 89 90 - void pcibios_update_irq(struct pci_dev *dev, int irq) 91 - { 92 - pci_write_config_byte(dev, PCI_INTERRUPT_LINE, irq); 93 - } 94 - 95 90 void __devinit pcibios_fixup_bus(struct pci_bus *bus) 96 91 { 97 92 struct pci_dev *dev;
-6
arch/mips/pci/pci.c
··· 313 313 } 314 314 } 315 315 316 - void __init 317 - pcibios_update_irq(struct pci_dev *dev, int irq) 318 - { 319 - pci_write_config_byte(dev, PCI_INTERRUPT_LINE, irq); 320 - } 321 - 322 316 #ifdef CONFIG_HOTPLUG 323 317 EXPORT_SYMBOL(PCIBIOS_MIN_IO); 324 318 EXPORT_SYMBOL(PCIBIOS_MIN_MEM);
-5
arch/sh/drivers/pci/pci.c
··· 192 192 return pci_enable_resources(dev, mask); 193 193 } 194 194 195 - void __init pcibios_update_irq(struct pci_dev *dev, int irq) 196 - { 197 - pci_write_config_byte(dev, PCI_INTERRUPT_LINE, irq); 198 - } 199 - 200 195 static void __init 201 196 pcibios_bus_report_status_early(struct pci_channel *hose, 202 197 int top_bus, int current_bus,
-9
arch/sparc/kernel/leon_pci.c
··· 102 102 return pci_enable_resources(dev, mask); 103 103 } 104 104 105 - void __devinit pcibios_update_irq(struct pci_dev *dev, int irq) 106 - { 107 - #ifdef CONFIG_PCI_DEBUG 108 - printk(KERN_DEBUG "LEONPCI: Assigning IRQ %02d to %s\n", irq, 109 - pci_name(dev)); 110 - #endif 111 - pci_write_config_byte(dev, PCI_INTERRUPT_LINE, irq); 112 - } 113 - 114 105 /* in/out routines taken from pcic.c 115 106 * 116 107 * This probably belongs here rather than ioport.c because
-4
arch/sparc/kernel/pci.c
··· 622 622 { 623 623 } 624 624 625 - void pcibios_update_irq(struct pci_dev *pdev, int irq) 626 - { 627 - } 628 - 629 625 resource_size_t pcibios_align_resource(void *data, const struct resource *res, 630 626 resource_size_t size, resource_size_t align) 631 627 {
-8
arch/tile/kernel/pci.c
··· 390 390 } 391 391 392 392 /* 393 - * This is called from the generic Linux layer. 394 - */ 395 - void __devinit pcibios_update_irq(struct pci_dev *dev, int irq) 396 - { 397 - pci_write_config_byte(dev, PCI_INTERRUPT_LINE, irq); 398 - } 399 - 400 - /* 401 393 * Enable memory and/or address decoding, as appropriate, for the 402 394 * device described by the 'dev' struct. 403 395 *
-8
arch/tile/kernel/pci_gx.c
··· 1034 1034 } 1035 1035 1036 1036 /* 1037 - * This is called from the generic Linux layer. 1038 - */ 1039 - void __devinit pcibios_update_irq(struct pci_dev *dev, int irq) 1040 - { 1041 - pci_write_config_byte(dev, PCI_INTERRUPT_LINE, irq); 1042 - } 1043 - 1044 - /* 1045 1037 * Enable memory address decoding, as appropriate, for the 1046 1038 * device described by the 'dev' struct. The I/O decoding 1047 1039 * is disabled, though the TILE-Gx supports I/O addressing.
-8
arch/unicore32/kernel/pci.c
··· 154 154 zhole_size[0] = 0; 155 155 } 156 156 157 - void __devinit pcibios_update_irq(struct pci_dev *dev, int irq) 158 - { 159 - if (debug_pci) 160 - printk(KERN_DEBUG "PCI: Assigning IRQ %02d to %s\n", 161 - irq, pci_name(dev)); 162 - pci_write_config_byte(dev, PCI_INTERRUPT_LINE, irq); 163 - } 164 - 165 157 /* 166 158 * If the bus contains any of these devices, then we must not turn on 167 159 * parity checking of any kind.
-5
arch/x86/pci/visws.c
··· 62 62 return irq; 63 63 } 64 64 65 - void __init pcibios_update_irq(struct pci_dev *dev, int irq) 66 - { 67 - pci_write_config_byte(dev, PCI_INTERRUPT_LINE, irq); 68 - } 69 - 70 65 int __init pci_visws_init(void) 71 66 { 72 67 pcibios_enable_irq = &pci_visws_enable_irq;
-8
arch/xtensa/kernel/pci.c
··· 210 210 /* No special bus mastering setup handling */ 211 211 } 212 212 213 - /* the next one is stolen from the alpha port... */ 214 - 215 - void __init 216 - pcibios_update_irq(struct pci_dev *dev, int irq) 217 - { 218 - pci_write_config_byte(dev, PCI_INTERRUPT_LINE, irq); 219 - } 220 - 221 213 int pcibios_enable_device(struct pci_dev *dev, int mask) 222 214 { 223 215 u16 cmd, old_cmd;
+7 -2
drivers/pci/setup-irq.c
··· 17 17 #include <linux/ioport.h> 18 18 #include <linux/cache.h> 19 19 20 + void __weak pcibios_update_irq(struct pci_dev *dev, int irq) 21 + { 22 + dev_dbg(&dev->dev, "assigning IRQ %02d\n", irq); 23 + pci_write_config_byte(dev, PCI_INTERRUPT_LINE, irq); 24 + } 20 25 21 - static void __init 26 + static void 22 27 pdev_fixup_irq(struct pci_dev *dev, 23 28 u8 (*swizzle)(struct pci_dev *, u8 *), 24 29 int (*map_irq)(const struct pci_dev *, u8, u8)) ··· 59 54 pcibios_update_irq(dev, irq); 60 55 } 61 56 62 - void __init 57 + void 63 58 pci_fixup_irqs(u8 (*swizzle)(struct pci_dev *, u8 *), 64 59 int (*map_irq)(const struct pci_dev *, u8, u8)) 65 60 {