omap24xx: Add 3.1 patchset.
[openwrt/svn-archive/archive.git] / target / linux / omap24xx / patches-3.1 / 420-hci-h4p-interrupt-workaround.patch
1 Index: linux-3.1-rc4/arch/arm/mach-omap2/serial.c
2 ===================================================================
3 --- linux-3.1-rc4.orig/arch/arm/mach-omap2/serial.c 2011-08-29 06:16:01.000000000 +0200
4 +++ linux-3.1-rc4/arch/arm/mach-omap2/serial.c 2011-10-27 16:38:20.539265654 +0200
5 @@ -546,10 +546,12 @@ static void omap_uart_idle_init(struct o
6 uart->padconf = 0;
7 }
8
9 - uart->irqflags |= IRQF_SHARED;
10 - ret = request_threaded_irq(uart->irq, NULL, omap_uart_interrupt,
11 - IRQF_SHARED, "serial idle", (void *)uart);
12 - WARN_ON(ret);
13 + if (uart->irq) {
14 + uart->irqflags |= IRQF_SHARED;
15 + ret = request_threaded_irq(uart->irq, NULL, omap_uart_interrupt,
16 + IRQF_SHARED, "serial idle", (void *)uart);
17 + WARN_ON(ret);
18 + }
19 }
20
21 void omap_uart_enable_irqs(int enable)
22 @@ -560,14 +562,17 @@ void omap_uart_enable_irqs(int enable)
23 list_for_each_entry(uart, &uart_list, node) {
24 if (enable) {
25 pm_runtime_put_sync(&uart->pdev->dev);
26 - ret = request_threaded_irq(uart->irq, NULL,
27 - omap_uart_interrupt,
28 - IRQF_SHARED,
29 - "serial idle",
30 - (void *)uart);
31 + if (uart->irq) {
32 + ret = request_threaded_irq(uart->irq, NULL,
33 + omap_uart_interrupt,
34 + IRQF_SHARED,
35 + "serial idle",
36 + (void *)uart);
37 + }
38 } else {
39 pm_runtime_get_noresume(&uart->pdev->dev);
40 - free_irq(uart->irq, (void *)uart);
41 + if (uart->irq)
42 + free_irq(uart->irq, (void *)uart);
43 }
44 }
45 }
46 Index: linux-3.1-rc4/arch/arm/mach-omap2/omap_hwmod_2xxx_3xxx_ipblock_data.c
47 ===================================================================
48 --- linux-3.1-rc4.orig/arch/arm/mach-omap2/omap_hwmod_2xxx_3xxx_ipblock_data.c 2011-08-29 06:16:01.000000000 +0200
49 +++ linux-3.1-rc4/arch/arm/mach-omap2/omap_hwmod_2xxx_3xxx_ipblock_data.c 2011-10-27 16:44:39.065885130 +0200
50 @@ -253,7 +253,7 @@ struct omap_hwmod_irq_info omap2_timer11
51 };
52
53 struct omap_hwmod_irq_info omap2_uart1_mpu_irqs[] = {
54 - { .irq = INT_24XX_UART1_IRQ, },
55 + { .irq = 0, },
56 { .irq = -1 }
57 };
58