msm-audio-event-notify.h 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. /* SPDX-License-Identifier: GPL-2.0-only */
  2. /*
  3. * Copyright (c) 2018-2019, The Linux Foundation. All rights reserved.
  4. */
  5. #ifndef __MSM_AUDIO_EVENT_NOTIFY_H_
  6. #define __MSM_AUDIO_EVENT_NOTIFY_H_
  7. #include <linux/notifier.h>
  8. #if (IS_ENABLED(CONFIG_SND_SOC_MSM_QDSP6V2_INTF) || \
  9. IS_ENABLED(CONFIG_SND_SOC_MSM_QDSP6V2_VM))
  10. int msm_aud_evt_register_client(struct notifier_block *nb);
  11. int msm_aud_evt_unregister_client(struct notifier_block *nb);
  12. int msm_aud_evt_notifier_call_chain(unsigned long val, void *v);
  13. int msm_aud_evt_blocking_register_client(struct notifier_block *nb);
  14. int msm_aud_evt_blocking_unregister_client(struct notifier_block *nb);
  15. int msm_aud_evt_blocking_notifier_call_chain(unsigned long val, void *v);
  16. #else
  17. static inline int msm_aud_evt_register_client(struct notifier_block *nb)
  18. {
  19. return -ENOSYS;
  20. }
  21. static inline int msm_aud_evt_unregister_client(struct notifier_block *nb)
  22. {
  23. return -ENOSYS;
  24. }
  25. static inline int msm_aud_evt_notifier_call_chain(unsigned long val, void *v)
  26. {
  27. return -ENOSYS;
  28. }
  29. static inline int msm_aud_evt_blocking_register_client(
  30. struct notifier_block *nb)
  31. {
  32. return -ENOSYS;
  33. }
  34. static inline int msm_aud_evt_blocking_unregister_client(
  35. struct notifier_block *nb)
  36. {
  37. return -ENOSYS;
  38. }
  39. static inline int msm_aud_evt_blocking_notifier_call_chain(
  40. unsigned long val, void *v)
  41. {
  42. return -ENOSYS;
  43. }
  44. #endif
  45. enum {
  46. MSM_AUD_DC_EVENT = 1,
  47. SWR_WAKE_IRQ_REGISTER,
  48. SWR_WAKE_IRQ_DEREGISTER,
  49. SWR_WAKE_IRQ_EVENT,
  50. };
  51. #endif