diff options
author | Surya Teja Kudiri <quic_skudiri@quicinc.com> | 2023-02-10 11:33:29 +0530 |
---|---|---|
committer | Surya Teja Kudiri <quic_skudiri@quicinc.com> | 2023-02-10 11:36:18 +0530 |
commit | 2521a158df6253ace108d88cdb8cef71a234376f (patch) | |
tree | 37b3f5e20eb6e9ea05347ab10dfcbb9d4b3d7d68 | |
parent | 4ca379016d886f33a1a22ca84e75e5521726803e (diff) | |
download | touch-2521a158df6253ace108d88cdb8cef71a234376f.tar.gz |
touch: raydium: Unregister of Panel_notifier
Implementation of Panel notifier callbacks and unregistration
of callback during touch probing.
Change-Id: I1706d01b99302125e37dd04c94597cf37e004cd0
Signed-off-by: Surya Teja Kudiri <quic_skudiri@quicinc.com>
-rw-r--r-- | raydium/raydium_driver.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/raydium/raydium_driver.c b/raydium/raydium_driver.c index c40489b..d20bacb 100644 --- a/raydium/raydium_driver.c +++ b/raydium/raydium_driver.c @@ -1765,6 +1765,12 @@ exit: return 0; } +static void raydium_setup_drm_unregister_notifier(void) +{ + if (active_panel && drm_panel_notifier_unregister(active_panel, + &g_raydium_ts->fb_notif) < 0) + LOGD(LOG_ERR, "[touch]%s: DRM UnRegister notifier failed!\n", __func__); +} /******************************************************************************* * FUNCTION: raydium_setup_drm_notifier * @@ -2452,7 +2458,12 @@ static int raydium_ts_probe(struct i2c_client *client, exit_irq_request_failed: #if defined(CONFIG_FB) raydium_unregister_notifier(); -#endif/*end of CONFIG_FB*/ +#elif defined(CONFIG_PANEL_NOTIFIER) + if (active_panel) + panel_event_notifier_unregister(&g_raydium_ts->fb_notif); +#elif defined(CONFIG_DRM) + raydium_setup_drm_unregister_notifier(); +#endif cancel_work_sync(&g_raydium_ts->work); input_unregister_device(input_dev); |