91b23405b1d52eb3a9db5c8c16178a2800b3001b
[openwrt.git] / target / linux / omap24xx / patches-2.6.38 / 420-hci-h4p-interrupt-workaround.patch
1 Index: linux-2.6.38-rc7/arch/arm/mach-omap2/omap_hwmod_2420_data.c
2 ===================================================================
3 --- linux-2.6.38-rc7.orig/arch/arm/mach-omap2/omap_hwmod_2420_data.c 2011-03-07 16:07:00.174343135 +0100
4 +++ linux-2.6.38-rc7/arch/arm/mach-omap2/omap_hwmod_2420_data.c 2011-03-07 16:09:15.601997493 +0100
5 @@ -362,7 +362,7 @@ static struct omap_hwmod_class uart_clas
6 /* UART1 */
7
8 static struct omap_hwmod_irq_info uart1_mpu_irqs[] = {
9 - { .irq = INT_24XX_UART1_IRQ, },
10 + { .irq = 0, },
11 };
12
13 static struct omap_hwmod_dma_info uart1_sdma_reqs[] = {
14 Index: linux-2.6.38-rc7/arch/arm/mach-omap2/serial.c
15 ===================================================================
16 --- linux-2.6.38-rc7.orig/arch/arm/mach-omap2/serial.c 2011-03-07 16:06:21.934958270 +0100
17 +++ linux-2.6.38-rc7/arch/arm/mach-omap2/serial.c 2011-03-07 16:08:59.649922915 +0100
18 @@ -546,10 +546,12 @@ static void omap_uart_idle_init(struct o
19 uart->padconf = 0;
20 }
21
22 - uart->irqflags |= IRQF_SHARED;
23 - ret = request_threaded_irq(uart->irq, NULL, omap_uart_interrupt,
24 - IRQF_SHARED, "serial idle", (void *)uart);
25 - WARN_ON(ret);
26 + if (uart->irq) {
27 + uart->irqflags |= IRQF_SHARED;
28 + ret = request_threaded_irq(uart->irq, NULL, omap_uart_interrupt,
29 + IRQF_SHARED, "serial idle", (void *)uart);
30 + WARN_ON(ret);
31 + }
32 }
33
34 void omap_uart_enable_irqs(int enable)
35 @@ -560,14 +562,17 @@ void omap_uart_enable_irqs(int enable)
36 list_for_each_entry(uart, &uart_list, node) {
37 if (enable) {
38 pm_runtime_put_sync(&uart->pdev->dev);
39 - ret = request_threaded_irq(uart->irq, NULL,
40 - omap_uart_interrupt,
41 - IRQF_SHARED,
42 - "serial idle",
43 - (void *)uart);
44 + if (uart->irq) {
45 + ret = request_threaded_irq(uart->irq, NULL,
46 + omap_uart_interrupt,
47 + IRQF_SHARED,
48 + "serial idle",
49 + (void *)uart);
50 + }
51 } else {
52 pm_runtime_get_noresume(&uart->pdev->dev);
53 - free_irq(uart->irq, (void *)uart);
54 + if (uart->irq)
55 + free_irq(uart->irq, (void *)uart);
56 }
57 }
58 }
This page took 0.041711 seconds and 3 git commands to generate.