OMAPDSS: HDMI: OMAP4: Update IRQ flags for the HPD IRQ request
authorRicardo Neri <ricardo.neri@ti.com>
Tue, 22 May 2012 02:47:21 +0000 (21:47 -0500)
committerTomi Valkeinen <tomi.valkeinen@ti.com>
Tue, 22 May 2012 08:00:09 +0000 (11:00 +0300)
genirq requires that the IRQ requests that do not provided a handler to
use the IRQF_ONESHOT flag. This is to prevent situations in which the irq line
is reenabled while the interrupt is still asserted. While this situation may
not happen in edge type interrupts, genirq still requires to use IRQF_ONESHOT.

Also, remove the IRQF_DISABLED as the flag is now a NOOP and has been
deprecated.

Signed-off-by: Ricardo Neri <ricardo.neri@ti.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
drivers/video/omap2/dss/ti_hdmi_4xxx_ip.c

index 667c960e10b92453c8d708189a1eec1c0bc6ff9a..4dae1b291079c9e8e00f0719aa22328f176934ab 100644 (file)
@@ -303,9 +303,9 @@ int ti_hdmi_4xxx_phy_enable(struct hdmi_ip_data *ip_data)
        REG_FLD_MOD(phy_base, HDMI_TXPHY_PAD_CFG_CTRL, 0x1, 27, 27);
 
        r = request_threaded_irq(gpio_to_irq(ip_data->hpd_gpio),
-                       NULL, hpd_irq_handler,
-                       IRQF_DISABLED | IRQF_TRIGGER_RISING |
-                       IRQF_TRIGGER_FALLING, "hpd", ip_data);
+                                NULL, hpd_irq_handler,
+                                IRQF_TRIGGER_RISING | IRQF_TRIGGER_FALLING |
+                                IRQF_ONESHOT, "hpd", ip_data);
        if (r) {
                DSSERR("HPD IRQ request failed\n");
                hdmi_set_phy_pwr(ip_data, HDMI_PHYPWRCMD_OFF);