Hi Varka,
This irq handler should be registered in attach() and unregistered in detach().
The devm_* APIs are released(freed) in remove(), right?
Logically the panel could be attached and detached several times after dsi is probed and not removed. So I don't use devm_* APIs.
Thank you. Best regards YJ
On 07/22/2014 07:57 PM, Varka Bhadram wrote:
On 07/22/2014 04:19 PM, YoungJun Cho wrote:
(...)
- ret = gpio_request_one(dsi->te_gpio, GPIOF_IN, "te_gpio");
devm_* APIs..?
- if (ret) {
dev_err(dsi->dev, "gpio request failed with %d\n", ret);
goto out;
- }
- /*
* This TE GPIO IRQ should not be set to IRQ_NOAUTOEN, because panel
* calls drm_panel_init() first then calls mipi_dsi_attach() in
probe().
* It means that te_gpio is invalid when exynos_dsi_enable_irq() is
* called by drm_panel_init() before panel is attached.
*/
- ret = request_threaded_irq(gpio_to_irq(dsi->te_gpio),
exynos_dsi_te_irq_handler, NULL,
IRQF_TRIGGER_RISING, "TE", dsi);
why don't we use devm_request_threaded_irq()..?