diff options
| author | Komal Seelam <kseelam@codeaurora.org> | 2016-05-10 14:36:50 +0530 |
|---|---|---|
| committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2016-08-24 04:42:47 -0700 |
| commit | 3136a40d03729a8f7fe33ef869f8c98302b782dc (patch) | |
| tree | 8292a17e6826f14783238138ec3d430617c6c5ae | |
| parent | 9e5835025b74a8b3d66135fe1a8a2ebf6bf631f5 (diff) | |
cnss: Provide API to CLD Driver to control SPDT GPIO
Antenna Sharing GPIO need to be toggled between QCA PCIe and SDIO
devices based on the requirement. If SDIO device is to be operational,
this GPIO should be turned ON high.
Expose API to CLD Driver to control this GPIO for dual-wifi platforms.
CRs-Fixed: 1013494
Change-Id: I271ba273a4c70717f066d219ff02e8f0f56e2ac3
Signed-off-by: Komal Kumar <kseelam@codeaurora.org>
| -rw-r--r-- | drivers/net/wireless/cnss/cnss_sdio.c | 11 | ||||
| -rw-r--r-- | include/net/cnss.h | 3 |
2 files changed, 12 insertions, 2 deletions
diff --git a/drivers/net/wireless/cnss/cnss_sdio.c b/drivers/net/wireless/cnss/cnss_sdio.c index 4db745285aef..f773c5993d44 100644 --- a/drivers/net/wireless/cnss/cnss_sdio.c +++ b/drivers/net/wireless/cnss/cnss_sdio.c @@ -49,8 +49,6 @@ #define CNSS_DUMP_NAME "CNSS_WLAN" #define CNSS_PINCTRL_SLEEP_STATE "sleep" #define CNSS_PINCTRL_ACTIVE_STATE "active" -#define PINCTRL_SLEEP 0 -#define PINCTRL_ACTIVE 1 struct cnss_sdio_regulator { struct regulator *wlan_io; @@ -673,6 +671,15 @@ static int cnss_set_pinctrl_state(struct cnss_sdio_data *pdata, bool state) pinctrl_select_state(info->pinctrl, info->sleep); } +int cnss_sdio_configure_spdt(bool state) +{ + if (!cnss_pdata) + return -ENODEV; + + return cnss_set_pinctrl_state(cnss_pdata, state); +} +EXPORT_SYMBOL(cnss_sdio_configure_spdt); + /** * cnss_sdio_wlan_register_driver() - cnss wlan register API * @driver: sdio wlan driver interface from wlan driver. diff --git a/include/net/cnss.h b/include/net/cnss.h index 3206b8d23bae..5508d5e46d18 100644 --- a/include/net/cnss.h +++ b/include/net/cnss.h @@ -19,6 +19,8 @@ #ifdef CONFIG_CNSS #define CNSS_MAX_FILE_NAME 20 +#define PINCTRL_SLEEP 0 +#define PINCTRL_ACTIVE 1 enum cnss_bus_width_type { CNSS_BUS_WIDTH_NONE, @@ -244,4 +246,5 @@ extern int cnss_common_set_wlan_mac_address(struct device *dev, const u8 *in, extern u8 *cnss_common_get_wlan_mac_address(struct device *dev, uint32_t *num); extern int cnss_power_up(struct device *dev); extern int cnss_power_down(struct device *dev); +extern int cnss_sdio_configure_spdt(bool state); #endif /* _NET_CNSS_H_ */ |
