143d2a30fa80166243498fc6b8c841828ce52fcc1Kalle Valo/*
243d2a30fa80166243498fc6b8c841828ce52fcc1Kalle Valo * Copyright (c) 2014 Qualcomm Atheros, Inc.
343d2a30fa80166243498fc6b8c841828ce52fcc1Kalle Valo *
443d2a30fa80166243498fc6b8c841828ce52fcc1Kalle Valo * Permission to use, copy, modify, and/or distribute this software for any
543d2a30fa80166243498fc6b8c841828ce52fcc1Kalle Valo * purpose with or without fee is hereby granted, provided that the above
643d2a30fa80166243498fc6b8c841828ce52fcc1Kalle Valo * copyright notice and this permission notice appear in all copies.
743d2a30fa80166243498fc6b8c841828ce52fcc1Kalle Valo *
843d2a30fa80166243498fc6b8c841828ce52fcc1Kalle Valo * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
943d2a30fa80166243498fc6b8c841828ce52fcc1Kalle Valo * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
1043d2a30fa80166243498fc6b8c841828ce52fcc1Kalle Valo * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
1143d2a30fa80166243498fc6b8c841828ce52fcc1Kalle Valo * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
1243d2a30fa80166243498fc6b8c841828ce52fcc1Kalle Valo * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
1343d2a30fa80166243498fc6b8c841828ce52fcc1Kalle Valo * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
1443d2a30fa80166243498fc6b8c841828ce52fcc1Kalle Valo * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
1543d2a30fa80166243498fc6b8c841828ce52fcc1Kalle Valo */
1643d2a30fa80166243498fc6b8c841828ce52fcc1Kalle Valo
1743d2a30fa80166243498fc6b8c841828ce52fcc1Kalle Valo#include "core.h"
1843d2a30fa80166243498fc6b8c841828ce52fcc1Kalle Valo
1943d2a30fa80166243498fc6b8c841828ce52fcc1Kalle Valo#ifdef CONFIG_NL80211_TESTMODE
2043d2a30fa80166243498fc6b8c841828ce52fcc1Kalle Valo
2143d2a30fa80166243498fc6b8c841828ce52fcc1Kalle Valovoid ath10k_testmode_destroy(struct ath10k *ar);
2243d2a30fa80166243498fc6b8c841828ce52fcc1Kalle Valo
2343d2a30fa80166243498fc6b8c841828ce52fcc1Kalle Valobool ath10k_tm_event_wmi(struct ath10k *ar, u32 cmd_id, struct sk_buff *skb);
2443d2a30fa80166243498fc6b8c841828ce52fcc1Kalle Valoint ath10k_tm_cmd(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
2543d2a30fa80166243498fc6b8c841828ce52fcc1Kalle Valo		  void *data, int len);
2643d2a30fa80166243498fc6b8c841828ce52fcc1Kalle Valo
2743d2a30fa80166243498fc6b8c841828ce52fcc1Kalle Valo#else
2843d2a30fa80166243498fc6b8c841828ce52fcc1Kalle Valo
2943d2a30fa80166243498fc6b8c841828ce52fcc1Kalle Valostatic inline void ath10k_testmode_destroy(struct ath10k *ar)
3043d2a30fa80166243498fc6b8c841828ce52fcc1Kalle Valo{
3143d2a30fa80166243498fc6b8c841828ce52fcc1Kalle Valo}
3243d2a30fa80166243498fc6b8c841828ce52fcc1Kalle Valo
3343d2a30fa80166243498fc6b8c841828ce52fcc1Kalle Valostatic inline bool ath10k_tm_event_wmi(struct ath10k *ar, u32 cmd_id,
3443d2a30fa80166243498fc6b8c841828ce52fcc1Kalle Valo				       struct sk_buff *skb)
3543d2a30fa80166243498fc6b8c841828ce52fcc1Kalle Valo{
3643d2a30fa80166243498fc6b8c841828ce52fcc1Kalle Valo	return false;
3743d2a30fa80166243498fc6b8c841828ce52fcc1Kalle Valo}
3843d2a30fa80166243498fc6b8c841828ce52fcc1Kalle Valo
3943d2a30fa80166243498fc6b8c841828ce52fcc1Kalle Valostatic inline int ath10k_tm_cmd(struct ieee80211_hw *hw,
4043d2a30fa80166243498fc6b8c841828ce52fcc1Kalle Valo				struct ieee80211_vif *vif,
4143d2a30fa80166243498fc6b8c841828ce52fcc1Kalle Valo				void *data, int len)
4243d2a30fa80166243498fc6b8c841828ce52fcc1Kalle Valo{
4343d2a30fa80166243498fc6b8c841828ce52fcc1Kalle Valo	return 0;
4443d2a30fa80166243498fc6b8c841828ce52fcc1Kalle Valo}
4543d2a30fa80166243498fc6b8c841828ce52fcc1Kalle Valo
4643d2a30fa80166243498fc6b8c841828ce52fcc1Kalle Valo#endif
47