lpass-cdc-clk-rsc.h 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. /* SPDX-License-Identifier: GPL-2.0-only */
  2. /*
  3. * Copyright (c) 2019-2021, The Linux Foundation. All rights reserved.
  4. */
  5. #ifndef LPASS_CDC_CLK_RSC_H
  6. #define LPASS_CDC_CLK_RSC_H
  7. #include <linux/regmap.h>
  8. #include <bindings/qcom,lpass-cdc-clk-rsc.h>
  9. #if IS_ENABLED(CONFIG_SND_SOC_LPASS_CDC)
  10. int lpass_cdc_clk_rsc_mgr_init(void);
  11. void lpass_cdc_clk_rsc_mgr_exit(void);
  12. void lpass_cdc_clk_rsc_fs_gen_request(struct device *dev,
  13. bool enable);
  14. int lpass_cdc_clk_rsc_request_clock(struct device *dev,
  15. int default_clk_id,
  16. int clk_id_req,
  17. bool enable);
  18. int lpass_cdc_rsc_clk_reset(struct device *dev, int clk_id);
  19. void lpass_cdc_clk_rsc_enable_all_clocks(struct device *dev, bool enable);
  20. #else
  21. static inline void lpass_cdc_clk_rsc_fs_gen_request(struct device *dev,
  22. bool enable)
  23. {
  24. }
  25. static inline int lpass_cdc_clk_rsc_mgr_init(void)
  26. {
  27. return 0;
  28. }
  29. static inline void lpass_cdc_clk_rsc_mgr_exit(void)
  30. {
  31. }
  32. static inline int lpass_cdc_clk_rsc_request_clock(struct device *dev,
  33. int default_clk_id,
  34. int clk_id_req,
  35. bool enable)
  36. {
  37. return 0;
  38. }
  39. static inline int lpass_cdc_rsc_clk_reset(struct device *dev, int clk_id)
  40. {
  41. return 0;
  42. }
  43. static inline void lpass_cdc_clk_rsc_enable_all_clocks(struct device *dev,
  44. bool enable)
  45. {
  46. return;
  47. }
  48. #endif /* CONFIG_SND_SOC_LPASS_CDC */
  49. #endif /* LPASS_CDC_CLK_RSC_H */