cnss_utils.h 1.6 KB

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