qcacmn: Add and enable GPIO Component

Add the common GPIO component code for MCC and WIN

Change-Id: Id93629856d42afc433844b568deb2fa63a5b67e6
This commit is contained in:
Chaoli Zhou
2020-09-14 19:06:09 +08:00
committed by snandini
parent 8e4a6046af
commit eb134979c1
12 changed files with 690 additions and 0 deletions

View File

@@ -0,0 +1,56 @@
/*
* Copyright (c) 2020, 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:wlan_gpio_tgt_api.c
*
* This file provide API definitions to update gpio configuration from interface
*/
#include <wlan_gpio_priv_api.h>
#include <wlan_gpio_tgt_api.h>
QDF_STATUS tgt_set_gpio_config_req(struct wlan_objmgr_psoc *psoc,
struct gpio_config_params *param)
{
struct wlan_lmac_if_gpio_tx_ops *gpio_tx_ops;
if (!psoc) {
gpio_err("NULL psoc");
return QDF_STATUS_E_NULL_VALUE;
}
gpio_tx_ops = wlan_psoc_get_gpio_txops(psoc);
if (!gpio_tx_ops)
return QDF_STATUS_E_NULL_VALUE;
return gpio_tx_ops->set_gpio_config(psoc, param);
}
QDF_STATUS tgt_set_gpio_output_req(struct wlan_objmgr_psoc *psoc,
struct gpio_output_params *param)
{
struct wlan_lmac_if_gpio_tx_ops *gpio_tx_ops;
if (!psoc) {
gpio_err("NULL psoc");
return QDF_STATUS_E_NULL_VALUE;
}
gpio_tx_ops = wlan_psoc_get_gpio_txops(psoc);
if (!gpio_tx_ops)
return QDF_STATUS_E_NULL_VALUE;
return gpio_tx_ops->set_gpio_output(psoc, param);
}

View File

@@ -0,0 +1,38 @@
/*
* Copyright (c) 2020, 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: This file contains gpio north bound interface definitions
*/
#include <wlan_gpio_ucfg_api.h>
#include <wlan_gpio_tgt_api.h>
#include "qdf_module.h"
QDF_STATUS
ucfg_set_gpio_config(struct wlan_objmgr_psoc *psoc,
struct gpio_config_params *param)
{
return tgt_set_gpio_config_req(psoc, param);
}
qdf_export_symbol(ucfg_set_gpio_config);
QDF_STATUS
ucfg_set_gpio_output(struct wlan_objmgr_psoc *psoc,
struct gpio_output_params *param)
{
return tgt_set_gpio_output_req(psoc, param);
}
qdf_export_symbol(ucfg_set_gpio_output);