diff options
-rw-r--r-- | arch/powerpc/kernel/irq.c | 25 | ||||
-rw-r--r-- | include/asm-powerpc/machdep.h | 5 |
2 files changed, 30 insertions, 0 deletions
diff --git a/arch/powerpc/kernel/irq.c b/arch/powerpc/kernel/irq.c index 57d560c68897..bfcec4cc70a7 100644 --- a/arch/powerpc/kernel/irq.c +++ b/arch/powerpc/kernel/irq.c | |||
@@ -47,6 +47,7 @@ | |||
47 | #include <linux/cpumask.h> | 47 | #include <linux/cpumask.h> |
48 | #include <linux/profile.h> | 48 | #include <linux/profile.h> |
49 | #include <linux/bitops.h> | 49 | #include <linux/bitops.h> |
50 | #include <linux/pci.h> | ||
50 | 51 | ||
51 | #include <asm/uaccess.h> | 52 | #include <asm/uaccess.h> |
52 | #include <asm/system.h> | 53 | #include <asm/system.h> |
@@ -436,6 +437,30 @@ void do_softirq(void) | |||
436 | } | 437 | } |
437 | EXPORT_SYMBOL(do_softirq); | 438 | EXPORT_SYMBOL(do_softirq); |
438 | 439 | ||
440 | #ifdef CONFIG_PCI_MSI | ||
441 | int pci_enable_msi(struct pci_dev * pdev) | ||
442 | { | ||
443 | if (ppc_md.enable_msi) | ||
444 | return ppc_md.enable_msi(pdev); | ||
445 | else | ||
446 | return -1; | ||
447 | } | ||
448 | |||
449 | void pci_disable_msi(struct pci_dev * pdev) | ||
450 | { | ||
451 | if (ppc_md.disable_msi) | ||
452 | ppc_md.disable_msi(pdev); | ||
453 | } | ||
454 | |||
455 | void pci_scan_msi_device(struct pci_dev *dev) {} | ||
456 | int pci_enable_msix(struct pci_dev* dev, struct msix_entry *entries, int nvec) {return -1;} | ||
457 | void pci_disable_msix(struct pci_dev *dev) {} | ||
458 | void msi_remove_pci_irq_vectors(struct pci_dev *dev) {} | ||
459 | void disable_msi_mode(struct pci_dev *dev, int pos, int type) {} | ||
460 | void pci_no_msi(void) {} | ||
461 | |||
462 | #endif | ||
463 | |||
439 | #ifdef CONFIG_PPC64 | 464 | #ifdef CONFIG_PPC64 |
440 | static int __init setup_noirqdistrib(char *str) | 465 | static int __init setup_noirqdistrib(char *str) |
441 | { | 466 | { |
diff --git a/include/asm-powerpc/machdep.h b/include/asm-powerpc/machdep.h index 0f9254c18914..fc984bd11d8f 100644 --- a/include/asm-powerpc/machdep.h +++ b/include/asm-powerpc/machdep.h | |||
@@ -238,6 +238,11 @@ struct machdep_calls { | |||
238 | */ | 238 | */ |
239 | void (*machine_kexec)(struct kimage *image); | 239 | void (*machine_kexec)(struct kimage *image); |
240 | #endif /* CONFIG_KEXEC */ | 240 | #endif /* CONFIG_KEXEC */ |
241 | |||
242 | #ifdef CONFIG_PCI_MSI | ||
243 | int (*enable_msi)(struct pci_dev *pdev); | ||
244 | void (*disable_msi)(struct pci_dev *pdev); | ||
245 | #endif /* CONFIG_PCI_MSI */ | ||
241 | }; | 246 | }; |
242 | 247 | ||
243 | extern void power4_idle(void); | 248 | extern void power4_idle(void); |