diff options
-rw-r--r-- | drivers/video/tegra/dc/hdmi.c | 3 |
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); |