aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/powerpc/kernel/irq.c25
-rw-r--r--include/asm-powerpc/machdep.h5
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}
437EXPORT_SYMBOL(do_softirq); 438EXPORT_SYMBOL(do_softirq);
438 439
440#ifdef CONFIG_PCI_MSI
441int 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
449void pci_disable_msi(struct pci_dev * pdev)
450{
451 if (ppc_md.disable_msi)
452 ppc_md.disable_msi(pdev);
453}
454
455void pci_scan_msi_device(struct pci_dev *dev) {}
456int pci_enable_msix(struct pci_dev* dev, struct msix_entry *entries, int nvec) {return -1;}
457void pci_disable_msix(struct pci_dev *dev) {}
458void msi_remove_pci_irq_vectors(struct pci_dev *dev) {}
459void disable_msi_mode(struct pci_dev *dev, int pos, int type) {}
460void pci_no_msi(void) {}
461
462#endif
463
439#ifdef CONFIG_PPC64 464#ifdef CONFIG_PPC64
440static int __init setup_noirqdistrib(char *str) 465static 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
243extern void power4_idle(void); 248extern void power4_idle(void);