cnss_utils.h 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. /* SPDX-License-Identifier: GPL-2.0-only */
  2. /*
  3. * Copyright (c) 2017, 2019 The Linux Foundation. All rights reserved.
  4. * Copyright (c) 2024 Qualcomm Innovation Center, Inc. All rights reserved.
  5. */
  6. #ifndef _CNSS_UTILS_H_
  7. #define _CNSS_UTILS_H_
  8. #include <linux/types.h>
  9. struct device;
  10. enum cnss_utils_cc_src {
  11. CNSS_UTILS_SOURCE_CORE,
  12. CNSS_UTILS_SOURCE_11D,
  13. CNSS_UTILS_SOURCE_USER
  14. };
  15. enum cnss_utils_device_type {
  16. CNSS_UNSUPPORETD_DEVICE_TYPE = -1,
  17. CNSS_HMT_DEVICE_TYPE,
  18. CNSS_HSP_DEVICE_TYPE
  19. };
  20. extern int cnss_utils_set_wlan_unsafe_channel(struct device *dev,
  21. u16 *unsafe_ch_list,
  22. u16 ch_count);
  23. extern int cnss_utils_get_wlan_unsafe_channel(struct device *dev,
  24. u16 *unsafe_ch_list,
  25. u16 *ch_count, u16 buf_len);
  26. extern enum cnss_utils_device_type cnss_utils_update_device_type(
  27. enum cnss_utils_device_type device_type);
  28. extern int cnss_utils_wlan_set_dfs_nol(struct device *dev,
  29. const void *info, u16 info_len);
  30. extern int cnss_utils_wlan_get_dfs_nol(struct device *dev,
  31. void *info, u16 info_len);
  32. extern int cnss_utils_get_driver_load_cnt(struct device *dev);
  33. extern void cnss_utils_increment_driver_load_cnt(struct device *dev);
  34. extern int cnss_utils_set_wlan_mac_address(const u8 *in, uint32_t len);
  35. extern u8 *cnss_utils_get_wlan_mac_address(struct device *dev, uint32_t *num);
  36. extern int cnss_utils_set_wlan_derived_mac_address(const u8 *in, uint32_t len);
  37. extern u8 *cnss_utils_get_wlan_derived_mac_address(struct device *dev,
  38. uint32_t *num);
  39. extern void cnss_utils_set_cc_source(struct device *dev,
  40. enum cnss_utils_cc_src cc_source);
  41. extern enum cnss_utils_cc_src cnss_utils_get_cc_source(struct device *dev);
  42. #ifdef CONFIG_FEATURE_SMEM_MAILBOX
  43. extern int cnss_utils_smem_mailbox_write(struct device *dev, int flags,
  44. const __u8 *data, uint32_t len);
  45. #endif
  46. #endif