summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--drivers/video/tegra/dc/hdmi.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/video/tegra/dc/hdmi.c b/drivers/video/tegra/dc/hdmi.c
index 44d15b8f5686..6c06ce540bf6 100644
--- a/drivers/video/tegra/dc/hdmi.c
+++ b/drivers/video/tegra/dc/hdmi.c
@@ -638,6 +638,7 @@ static int tegra_dc_hdmi_init(struct tegra_dc *dc)
err = -EBUSY;
goto err_put_clock;
}
+ enable_irq_wake(gpio_to_irq(dc->out->hotplug_gpio));
hdmi->edid = tegra_edid_create(dc->out->dcc_bus);
if (IS_ERR_OR_NULL(hdmi->edid)) {
@@ -686,6 +687,7 @@ static int tegra_dc_hdmi_init(struct tegra_dc *dc)
err_edid_destroy:
tegra_edid_destroy(hdmi->edid);
err_free_irq:
+ disable_irq_wake(gpio_to_irq(dc->out->hotplug_gpio));
free_irq(gpio_to_irq(dc->out->hotplug_gpio), dc);
err_put_clock:
if (!IS_ERR_OR_NULL(disp2_clk))
@@ -707,6 +709,7 @@ static void tegra_dc_hdmi_destroy(struct tegra_dc *dc)
{
struct tegra_dc_hdmi_data *hdmi = tegra_dc_get_outdata(dc);
+ disable_irq_wake(gpio_to_irq(dc->out->hotplug_gpio));
free_irq(gpio_to_irq(dc->out->hotplug_gpio), dc);
cancel_delayed_work_sync(&hdmi->work);
switch_dev_unregister(&hdmi->hpd_switch);