diff options
Diffstat (limited to 'arch/powerpc/kernel/irq.c')
-rw-r--r-- | arch/powerpc/kernel/irq.c | 29 |
1 files changed, 27 insertions, 2 deletions
diff --git a/arch/powerpc/kernel/irq.c b/arch/powerpc/kernel/irq.c index 57d560c68897..40d4c14fde8f 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> |
@@ -379,8 +380,8 @@ unsigned int real_irq_to_virt_slowpath(unsigned int real_irq) | |||
379 | #endif /* CONFIG_PPC64 */ | 380 | #endif /* CONFIG_PPC64 */ |
380 | 381 | ||
381 | #ifdef CONFIG_IRQSTACKS | 382 | #ifdef CONFIG_IRQSTACKS |
382 | struct thread_info *softirq_ctx[NR_CPUS]; | 383 | struct thread_info *softirq_ctx[NR_CPUS] __read_mostly; |
383 | struct thread_info *hardirq_ctx[NR_CPUS]; | 384 | struct thread_info *hardirq_ctx[NR_CPUS] __read_mostly; |
384 | 385 | ||
385 | void irq_ctx_init(void) | 386 | void irq_ctx_init(void) |
386 | { | 387 | { |
@@ -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 | { |