aboutsummaryrefslogtreecommitdiffstats
path: root/arch/mips/pci
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2014-06-04 18:59:13 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2014-06-04 18:59:13 -0400
commitd09cc3659db494aca4b3bb2393c533fb4946b794 (patch)
tree158d1dd5fa5fddf1c99da677a193b8561c11274d /arch/mips/pci
parent82e627eb5e07d7993216c9e63fb5550cf6ed25d7 (diff)
parentc0ffa793994a7a69c37a96dabf38323eae1dffa6 (diff)
Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip into next
Pull core irq updates from Thomas Gleixner: "The irq department delivers: - Another tree wide update to get rid of the horrible create_irq interface along with its even more horrible variants. That also gets rid of the last leftovers of the initial sparse irq hackery. arch/driver specific changes have been either acked or ignored. - A fix for the spurious interrupt detection logic with threaded interrupts. - A new ARM SoC interrupt controller - The usual pile of fixes and improvements all over the place" * 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (40 commits) Documentation: brcmstb-l2: Add Broadcom STB Level-2 interrupt controller binding irqchip: brcmstb-l2: Add Broadcom Set Top Box Level-2 interrupt controller genirq: Improve documentation to match current implementation ARM: iop13xx: fix msi support with sparse IRQ genirq: Provide !SMP stub for irq_set_affinity_notifier() irqchip: armada-370-xp: Move the devicetree binding documentation irqchip: gic: Use mask field in GICC_IAR genirq: Remove dynamic_irq mess ia64: Use irq_init_desc genirq: Replace dynamic_irq_init/cleanup genirq: Remove irq_reserve_irq[s] genirq: Replace reserve_irqs in core code s390: Avoid call to irq_reserve_irqs() s390: Remove pointless arch_show_interrupts() s390: pci: Check return value of alloc_irq_desc() proper sh: intc: Remove pointless irq_reserve_irqs() invocation x86, irq: Remove pointless irq_reserve_irqs() call genirq: Make create/destroy_irq() ia64 private tile: Use SPARSE_IRQ tile: pci: Use irq_alloc/free_hwirq() ...
Diffstat (limited to 'arch/mips/pci')
-rw-r--r--arch/mips/pci/msi-xlp.c10
-rw-r--r--arch/mips/pci/pci-xlr.c10
2 files changed, 2 insertions, 18 deletions
diff --git a/arch/mips/pci/msi-xlp.c b/arch/mips/pci/msi-xlp.c
index afd8405e0188..3249685e03ad 100644
--- a/arch/mips/pci/msi-xlp.c
+++ b/arch/mips/pci/msi-xlp.c
@@ -206,14 +206,8 @@ static struct irq_chip xlp_msix_chip = {
206 .irq_unmask = unmask_msi_irq, 206 .irq_unmask = unmask_msi_irq,
207}; 207};
208 208
209void destroy_irq(unsigned int irq)
210{
211 /* nothing to do yet */
212}
213
214void arch_teardown_msi_irq(unsigned int irq) 209void arch_teardown_msi_irq(unsigned int irq)
215{ 210{
216 destroy_irq(irq);
217} 211}
218 212
219/* 213/*
@@ -298,10 +292,8 @@ static int xlp_setup_msi(uint64_t lnkbase, int node, int link,
298 292
299 xirq = xirq + msivec; /* msi mapped to global irq space */ 293 xirq = xirq + msivec; /* msi mapped to global irq space */
300 ret = irq_set_msi_desc(xirq, desc); 294 ret = irq_set_msi_desc(xirq, desc);
301 if (ret < 0) { 295 if (ret < 0)
302 destroy_irq(xirq);
303 return ret; 296 return ret;
304 }
305 297
306 write_msi_msg(xirq, &msg); 298 write_msi_msg(xirq, &msg);
307 return 0; 299 return 0;
diff --git a/arch/mips/pci/pci-xlr.c b/arch/mips/pci/pci-xlr.c
index 4427abbd48b5..0dde80332d3a 100644
--- a/arch/mips/pci/pci-xlr.c
+++ b/arch/mips/pci/pci-xlr.c
@@ -214,14 +214,8 @@ static int get_irq_vector(const struct pci_dev *dev)
214} 214}
215 215
216#ifdef CONFIG_PCI_MSI 216#ifdef CONFIG_PCI_MSI
217void destroy_irq(unsigned int irq)
218{
219 /* nothing to do yet */
220}
221
222void arch_teardown_msi_irq(unsigned int irq) 217void arch_teardown_msi_irq(unsigned int irq)
223{ 218{
224 destroy_irq(irq);
225} 219}
226 220
227int arch_setup_msi_irq(struct pci_dev *dev, struct msi_desc *desc) 221int arch_setup_msi_irq(struct pci_dev *dev, struct msi_desc *desc)
@@ -263,10 +257,8 @@ int arch_setup_msi_irq(struct pci_dev *dev, struct msi_desc *desc)
263 MSI_DATA_DELIVERY_FIXED; 257 MSI_DATA_DELIVERY_FIXED;
264 258
265 ret = irq_set_msi_desc(irq, desc); 259 ret = irq_set_msi_desc(irq, desc);
266 if (ret < 0) { 260 if (ret < 0)
267 destroy_irq(irq);
268 return ret; 261 return ret;
269 }
270 262
271 write_msi_msg(irq, &msg); 263 write_msi_msg(irq, &msg);
272 return 0; 264 return 0;