aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/tty
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 /drivers/tty
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 'drivers/tty')
-rw-r--r--drivers/tty/hvc/hvc_tile.c8
-rw-r--r--drivers/tty/serial/tilegx.c8
2 files changed, 8 insertions, 8 deletions
diff --git a/drivers/tty/hvc/hvc_tile.c b/drivers/tty/hvc/hvc_tile.c
index af8cdaa1dcb9..147d49e95db2 100644
--- a/drivers/tty/hvc/hvc_tile.c
+++ b/drivers/tty/hvc/hvc_tile.c
@@ -133,14 +133,14 @@ static int hvc_tile_probe(struct platform_device *pdev)
133 int tile_hvc_irq; 133 int tile_hvc_irq;
134 134
135 /* Create our IRQ and register it. */ 135 /* Create our IRQ and register it. */
136 tile_hvc_irq = create_irq(); 136 tile_hvc_irq = irq_alloc_hwirq(-1);
137 if (tile_hvc_irq < 0) 137 if (!tile_hvc_irq)
138 return -ENXIO; 138 return -ENXIO;
139 139
140 tile_irq_activate(tile_hvc_irq, TILE_IRQ_PERCPU); 140 tile_irq_activate(tile_hvc_irq, TILE_IRQ_PERCPU);
141 hp = hvc_alloc(0, tile_hvc_irq, &hvc_tile_get_put_ops, 128); 141 hp = hvc_alloc(0, tile_hvc_irq, &hvc_tile_get_put_ops, 128);
142 if (IS_ERR(hp)) { 142 if (IS_ERR(hp)) {
143 destroy_irq(tile_hvc_irq); 143 irq_free_hwirq(tile_hvc_irq);
144 return PTR_ERR(hp); 144 return PTR_ERR(hp);
145 } 145 }
146 dev_set_drvdata(&pdev->dev, hp); 146 dev_set_drvdata(&pdev->dev, hp);
@@ -155,7 +155,7 @@ static int hvc_tile_remove(struct platform_device *pdev)
155 155
156 rc = hvc_remove(hp); 156 rc = hvc_remove(hp);
157 if (rc == 0) 157 if (rc == 0)
158 destroy_irq(hp->data); 158 irq_free_hwirq(hp->data);
159 159
160 return rc; 160 return rc;
161} 161}
diff --git a/drivers/tty/serial/tilegx.c b/drivers/tty/serial/tilegx.c
index f92d7e6bd876..613ccf09dc2a 100644
--- a/drivers/tty/serial/tilegx.c
+++ b/drivers/tty/serial/tilegx.c
@@ -359,8 +359,8 @@ static int tilegx_startup(struct uart_port *port)
359 } 359 }
360 360
361 /* Create our IRQs. */ 361 /* Create our IRQs. */
362 port->irq = create_irq(); 362 port->irq = irq_alloc_hwirq(-1);
363 if (port->irq < 0) 363 if (!port->irq)
364 goto err_uart_dest; 364 goto err_uart_dest;
365 tile_irq_activate(port->irq, TILE_IRQ_PERCPU); 365 tile_irq_activate(port->irq, TILE_IRQ_PERCPU);
366 366
@@ -395,7 +395,7 @@ static int tilegx_startup(struct uart_port *port)
395err_free_irq: 395err_free_irq:
396 free_irq(port->irq, port); 396 free_irq(port->irq, port);
397err_dest_irq: 397err_dest_irq:
398 destroy_irq(port->irq); 398 irq_free_hwirq(port->irq);
399err_uart_dest: 399err_uart_dest:
400 gxio_uart_destroy(context); 400 gxio_uart_destroy(context);
401 ret = -ENXIO; 401 ret = -ENXIO;
@@ -435,7 +435,7 @@ static void tilegx_shutdown(struct uart_port *port)
435 435
436 if (port->irq > 0) { 436 if (port->irq > 0) {
437 free_irq(port->irq, port); 437 free_irq(port->irq, port);
438 destroy_irq(port->irq); 438 irq_free_hwirq(port->irq);
439 port->irq = 0; 439 port->irq = 0;
440 } 440 }
441 441