msm-audio-event-notify.h 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. /* SPDX-License-Identifier: GPL-2.0-only */
  2. /*
  3. * Copyright (c) 2018, 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. int msm_aud_evt_register_client(struct notifier_block *nb);
  10. int msm_aud_evt_unregister_client(struct notifier_block *nb);
  11. int msm_aud_evt_notifier_call_chain(unsigned long val, void *v);
  12. int msm_aud_evt_blocking_register_client(struct notifier_block *nb);
  13. int msm_aud_evt_blocking_unregister_client(struct notifier_block *nb);
  14. int msm_aud_evt_blocking_notifier_call_chain(unsigned long val, void *v);
  15. #else
  16. static inline int msm_aud_evt_register_client(struct notifier_block *nb)
  17. {
  18. return -ENOSYS;
  19. }
  20. static inline int msm_aud_evt_unregister_client(struct notifier_block *nb)
  21. {
  22. return -ENOSYS;
  23. }
  24. static inline int msm_aud_evt_notifier_call_chain(unsigned long val, void *v)
  25. {
  26. return -ENOSYS;
  27. }
  28. static inline int msm_aud_evt_blocking_register_client(
  29. struct notifier_block *nb)
  30. {
  31. return -ENOSYS;
  32. }
  33. static inline int msm_aud_evt_blocking_unregister_client(
  34. struct notifier_block *nb)
  35. {
  36. return -ENOSYS;
  37. }
  38. static inline int msm_aud_evt_blocking_notifier_call_chain(
  39. unsigned long val, void *v)
  40. {
  41. return -ENOSYS;
  42. }
  43. #endif
  44. enum {
  45. MSM_AUD_DC_EVENT = 1,
  46. SWR_WAKE_IRQ_REGISTER,
  47. SWR_WAKE_IRQ_DEREGISTER,
  48. SWR_WAKE_IRQ_EVENT,
  49. };
  50. #endif