qcacmn: VDEV MLME SM changes

1) Fixes to enable VDEV MLME SM with legacy code
2) Define/Enable PDEV MLME component object.

Change-Id: Ieb87e5b7b70d6bb593ba0950297894a81c6a4feb
CRs-Fixed: 2384173
此提交包含在:
Srinivas Pitla
2018-10-05 10:52:48 +05:30
提交者 nshrivas
父節點 b113bbc335
當前提交 39a9222d27
共有 21 個檔案被更改,包括 1242 行新增417 行删除

查看文件

@@ -0,0 +1,44 @@
/*
* Copyright (c) 2019 The Linux Foundation. All rights reserved.
*
* Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
/**
* DOC: Define PDEV MLME public APIs
*/
#ifndef _WLAN_PDEV_MLME_API_H_
#define _WLAN_PDEV_MLME_API_H_
/**
* wlan_pdev_mlme_get_cmpt_obj - Returns MLME component object
*
* Retrieves MLME component object from PDEV object
*
* Return: comp handle on SUCCESS
* NULL, if it fails to retrieve
*/
struct pdev_mlme_obj *wlan_pdev_mlme_get_cmpt_obj(
struct wlan_objmgr_pdev *pdev);
/**
* wlan_pdev_mlme_get_ext_hdl - Returns legacy handle
*
* Retrieves legacy handle from pdev mlme component object
*
* Return: legacy handle on SUCCESS
* NULL, if it fails to retrieve
*/
void *wlan_pdev_mlme_get_ext_hdl(struct wlan_objmgr_pdev *pdev);
#endif

查看文件

@@ -0,0 +1,58 @@
/*
* Copyright (c) 2019 The Linux Foundation. All rights reserved.
*
* Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
/**
* DOC: Implements PDEV MLME public APIs
*/
#include <wlan_objmgr_pdev_obj.h>
#include <wlan_mlme_dbg.h>
#include "include/wlan_pdev_mlme.h"
#include <wlan_pdev_mlme_api.h>
#include <qdf_module.h>
struct pdev_mlme_obj *wlan_pdev_mlme_get_cmpt_obj(struct wlan_objmgr_pdev *pdev)
{
struct pdev_mlme_obj *pdev_mlme;
if (!pdev) {
mlme_err("pdev is NULL");
return NULL;
}
pdev_mlme = wlan_objmgr_pdev_get_comp_private_obj(pdev,
WLAN_UMAC_COMP_MLME);
if (!pdev_mlme) {
mlme_err(" MLME component object is NULL");
return NULL;
}
return pdev_mlme;
}
void *wlan_pdev_mlme_get_ext_hdl(struct wlan_objmgr_pdev *pdev)
{
struct pdev_mlme_obj *pdev_mlme;
pdev_mlme = wlan_pdev_mlme_get_cmpt_obj(pdev);
if (pdev_mlme)
return pdev_mlme->ext_pdev_ptr;
return NULL;
}
qdf_export_symbol(wlan_pdev_mlme_get_ext_hdl);