diff options
Diffstat (limited to 'drivers/net/wireless/ath/ath10k/wmi-ops.h')
-rw-r--r-- | drivers/net/wireless/ath/ath10k/wmi-ops.h | 17 |
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 | ||
140 | int ath10k_wmi_cmd_send(struct ath10k *ar, struct sk_buff *skb, u32 cmd_id); | 142 | int 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 | ||
980 | static inline int | ||
981 | ath10k_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 |