wlan_pdev_mlme.h 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. /*
  2. * Copyright (c) 2019 The Linux Foundation. All rights reserved.
  3. *
  4. * Permission to use, copy, modify, and/or distribute this software for any
  5. * purpose with or without fee is hereby granted, provided that the above
  6. * copyright notice and this permission notice appear in all copies.
  7. *
  8. * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
  9. * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
  10. * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
  11. * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
  12. * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
  13. * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
  14. * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  15. */
  16. /**
  17. * DOC: Define PDEV MLME structure and APIs
  18. */
  19. #ifndef _WLAN_PDEV_MLME_H_
  20. #define _WLAN_PDEV_MLME_H_
  21. #include <qdf_timer.h>
  22. #include <include/wlan_vdev_mlme.h>
  23. /**
  24. * struct pdev_mlme_obj - PDEV MLME component object
  25. * @pdev: PDEV object
  26. * @ext_pdev_ptr: PDEV MLME legacy pointer
  27. * @mlme_register_ops: Call back to register MLME legacy APIs
  28. * @vdev_restart_lock: Lock for VDEVs restart
  29. * @restart_req_timer: Timer handle for VDEVs restart
  30. * @restart_pend_vdev_bmap: Bitmap for VDEV RESTART command pending
  31. * @restart_send_vdev_bmap: Bitmap for VDEV RESTART command sending
  32. * @start_send_vdev_arr: Bitmap for VDEV START command sending
  33. */
  34. struct pdev_mlme_obj {
  35. struct wlan_objmgr_pdev *pdev;
  36. void *ext_pdev_ptr;
  37. QDF_STATUS (*mlme_register_ops)(struct vdev_mlme_obj *vdev_mlme);
  38. qdf_spinlock_t vdev_restart_lock;
  39. qdf_timer_t restart_req_timer;
  40. unsigned long restart_pend_vdev_bmap[2];
  41. unsigned long restart_send_vdev_bmap[2];
  42. unsigned long start_send_vdev_arr[2];
  43. };
  44. #endif