| 1 | --- a/arch/arm/mach-omap2/omap_hwmod_2xxx_3xxx_ipblock_data.c |
| 2 | +++ b/arch/arm/mach-omap2/omap_hwmod_2xxx_3xxx_ipblock_data.c |
| 3 | @@ -235,7 +235,7 @@ struct omap_hwmod_irq_info omap2_timer11 |
| 4 | }; |
| 5 | |
| 6 | struct omap_hwmod_irq_info omap2_uart1_mpu_irqs[] = { |
| 7 | - { .irq = INT_24XX_UART1_IRQ, }, |
| 8 | + { .irq = 0, }, |
| 9 | { .irq = -1 } |
| 10 | }; |
| 11 | |
| 12 | --- a/drivers/tty/serial/omap-serial.c |
| 13 | +++ b/drivers/tty/serial/omap-serial.c |
| 14 | @@ -517,8 +517,10 @@ static int serial_omap_startup(struct ua |
| 15 | /* |
| 16 | * Allocate the IRQ |
| 17 | */ |
| 18 | - retval = request_irq(up->port.irq, serial_omap_irq, up->port.irqflags, |
| 19 | - up->name, up); |
| 20 | + retval = 0; |
| 21 | + if (up->port.irq) |
| 22 | + retval = request_irq(up->port.irq, serial_omap_irq, |
| 23 | + up->port.irqflags, up->name, up); |
| 24 | if (retval) |
| 25 | return retval; |
| 26 | |
| 27 | @@ -629,7 +631,8 @@ static void serial_omap_shutdown(struct |
| 28 | } |
| 29 | |
| 30 | pm_runtime_put(&up->pdev->dev); |
| 31 | - free_irq(up->port.irq, up); |
| 32 | + if (up->port.irq) |
| 33 | + free_irq(up->port.irq, up); |
| 34 | } |
| 35 | |
| 36 | static inline void |
| 37 | |