From 72ee264c0cf50dbec464b9afdd4c9c8d39c916ee Mon Sep 17 00:00:00 2001 From: Sudheer Papothi Date: Thu, 8 Aug 2019 05:15:17 +0530 Subject: [PATCH] SoC: soundwire: Add support to register for event listener Add support to register/deregister for event listener to listen to headset interrupt events during low power island mode. Change-Id: I9d05261003ef9e4783e03b3acb529c864c07cbec Signed-off-by: Sudheer Papothi --- include/soc/swr-wcd.h | 2 ++ soc/swr-mstr-ctrl.c | 8 ++++++++ 2 files changed, 10 insertions(+) diff --git a/include/soc/swr-wcd.h b/include/soc/swr-wcd.h index 25c5339b3195..4ec509442858 100644 --- a/include/soc/swr-wcd.h +++ b/include/soc/swr-wcd.h @@ -22,6 +22,8 @@ enum { SWR_REGISTER_WAKE_IRQ, SWR_SET_PORT_MAP, SWR_REQ_CLK_SWITCH, + SWR_REGISTER_WAKEUP, + SWR_DEREGISTER_WAKEUP, }; struct swr_mstr_port { diff --git a/soc/swr-mstr-ctrl.c b/soc/swr-mstr-ctrl.c index f184e1bccfcb..36523743adce 100644 --- a/soc/swr-mstr-ctrl.c +++ b/soc/swr-mstr-ctrl.c @@ -2871,6 +2871,14 @@ int swrm_wcd_notify(struct platform_device *pdev, u32 id, void *data) mutex_unlock(&swrm->mlock); } break; + case SWR_REGISTER_WAKEUP: + msm_aud_evt_blocking_notifier_call_chain( + SWR_WAKE_IRQ_REGISTER, (void *)swrm); + break; + case SWR_DEREGISTER_WAKEUP: + msm_aud_evt_blocking_notifier_call_chain( + SWR_WAKE_IRQ_DEREGISTER, (void *)swrm); + break; case SWR_SET_PORT_MAP: if (!data) { dev_err(swrm->dev, "%s: data is NULL for id=%d\n",