aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/ath/ath10k/wmi-ops.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/wireless/ath/ath10k/wmi-ops.h')
-rw-r--r--drivers/net/wireless/ath/ath10k/wmi-ops.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/drivers/net/wireless/ath/ath10k/wmi-ops.h b/drivers/net/wireless/ath/ath10k/wmi-ops.h
index 7084096c0f62..0dd49a7a89f0 100644
--- a/drivers/net/wireless/ath/ath10k/wmi-ops.h
+++ b/drivers/net/wireless/ath/ath10k/wmi-ops.h
@@ -135,6 +135,8 @@ struct wmi_ops {
135 void *prb_ies, size_t prb_ies_len); 135 void *prb_ies, size_t prb_ies_len);
136 struct sk_buff *(*gen_prb_tmpl)(struct ath10k *ar, u32 vdev_id, 136 struct sk_buff *(*gen_prb_tmpl)(struct ath10k *ar, u32 vdev_id,
137 struct sk_buff *bcn); 137 struct sk_buff *bcn);
138 struct sk_buff *(*gen_p2p_go_bcn_ie)(struct ath10k *ar, u32 vdev_id,
139 const u8 *p2p_ie);
138}; 140};
139 141
140int ath10k_wmi_cmd_send(struct ath10k *ar, struct sk_buff *skb, u32 cmd_id); 142int ath10k_wmi_cmd_send(struct ath10k *ar, struct sk_buff *skb, u32 cmd_id);
@@ -975,4 +977,19 @@ ath10k_wmi_prb_tmpl(struct ath10k *ar, u32 vdev_id, struct sk_buff *prb)
975 return ath10k_wmi_cmd_send(ar, skb, ar->wmi.cmd->prb_tmpl_cmdid); 977 return ath10k_wmi_cmd_send(ar, skb, ar->wmi.cmd->prb_tmpl_cmdid);
976} 978}
977 979
980static inline int
981ath10k_wmi_p2p_go_bcn_ie(struct ath10k *ar, u32 vdev_id, const u8 *p2p_ie)
982{
983 struct sk_buff *skb;
984
985 if (!ar->wmi.ops->gen_p2p_go_bcn_ie)
986 return -EOPNOTSUPP;
987
988 skb = ar->wmi.ops->gen_p2p_go_bcn_ie(ar, vdev_id, p2p_ie);
989 if (IS_ERR(skb))
990 return PTR_ERR(skb);
991
992 return ath10k_wmi_cmd_send(ar, skb, ar->wmi.cmd->p2p_go_set_beacon_ie);
993}
994
978#endif 995#endif