mirror of https://github.com/hak5/openwrt.git
55 lines
1.5 KiB
Diff
55 lines
1.5 KiB
Diff
--- a/arch/arm/mach-omap2/serial.c
|
|
+++ b/arch/arm/mach-omap2/serial.c
|
|
@@ -546,10 +546,12 @@ static void omap_uart_idle_init(struct o
|
|
uart->padconf = 0;
|
|
}
|
|
|
|
- uart->irqflags |= IRQF_SHARED;
|
|
- ret = request_threaded_irq(uart->irq, NULL, omap_uart_interrupt,
|
|
- IRQF_SHARED, "serial idle", (void *)uart);
|
|
- WARN_ON(ret);
|
|
+ if (uart->irq) {
|
|
+ uart->irqflags |= IRQF_SHARED;
|
|
+ ret = request_threaded_irq(uart->irq, NULL, omap_uart_interrupt,
|
|
+ IRQF_SHARED, "serial idle", (void *)uart);
|
|
+ WARN_ON(ret);
|
|
+ }
|
|
}
|
|
|
|
void omap_uart_enable_irqs(int enable)
|
|
@@ -560,14 +562,17 @@ void omap_uart_enable_irqs(int enable)
|
|
list_for_each_entry(uart, &uart_list, node) {
|
|
if (enable) {
|
|
pm_runtime_put_sync(&uart->pdev->dev);
|
|
- ret = request_threaded_irq(uart->irq, NULL,
|
|
- omap_uart_interrupt,
|
|
- IRQF_SHARED,
|
|
- "serial idle",
|
|
- (void *)uart);
|
|
+ if (uart->irq) {
|
|
+ ret = request_threaded_irq(uart->irq, NULL,
|
|
+ omap_uart_interrupt,
|
|
+ IRQF_SHARED,
|
|
+ "serial idle",
|
|
+ (void *)uart);
|
|
+ }
|
|
} else {
|
|
pm_runtime_get_noresume(&uart->pdev->dev);
|
|
- free_irq(uart->irq, (void *)uart);
|
|
+ if (uart->irq)
|
|
+ free_irq(uart->irq, (void *)uart);
|
|
}
|
|
}
|
|
}
|
|
--- a/arch/arm/mach-omap2/omap_hwmod_2xxx_3xxx_ipblock_data.c
|
|
+++ b/arch/arm/mach-omap2/omap_hwmod_2xxx_3xxx_ipblock_data.c
|
|
@@ -253,7 +253,7 @@ struct omap_hwmod_irq_info omap2_timer11
|
|
};
|
|
|
|
struct omap_hwmod_irq_info omap2_uart1_mpu_irqs[] = {
|
|
- { .irq = INT_24XX_UART1_IRQ, },
|
|
+ { .irq = 0, },
|
|
{ .irq = -1 }
|
|
};
|
|
|