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.h20
1 files changed, 20 insertions, 0 deletions
diff --git a/drivers/net/wireless/ath/ath10k/wmi-ops.h b/drivers/net/wireless/ath/ath10k/wmi-ops.h
index 987414abc443..058f88b6ff53 100644
--- a/drivers/net/wireless/ath/ath10k/wmi-ops.h
+++ b/drivers/net/wireless/ath/ath10k/wmi-ops.h
@@ -143,6 +143,8 @@ struct wmi_ops {
143 const u8 peer_addr[ETH_ALEN], 143 const u8 peer_addr[ETH_ALEN],
144 const struct wmi_sta_uapsd_auto_trig_arg *args, 144 const struct wmi_sta_uapsd_auto_trig_arg *args,
145 u32 num_ac); 145 u32 num_ac);
146 struct sk_buff *(*gen_sta_keepalive)(struct ath10k *ar,
147 const struct wmi_sta_keepalive_arg *arg);
146}; 148};
147 149
148int ath10k_wmi_cmd_send(struct ath10k *ar, struct sk_buff *skb, u32 cmd_id); 150int ath10k_wmi_cmd_send(struct ath10k *ar, struct sk_buff *skb, u32 cmd_id);
@@ -1034,4 +1036,22 @@ ath10k_wmi_p2p_go_bcn_ie(struct ath10k *ar, u32 vdev_id, const u8 *p2p_ie)
1034 return ath10k_wmi_cmd_send(ar, skb, ar->wmi.cmd->p2p_go_set_beacon_ie); 1036 return ath10k_wmi_cmd_send(ar, skb, ar->wmi.cmd->p2p_go_set_beacon_ie);
1035} 1037}
1036 1038
1039static inline int
1040ath10k_wmi_sta_keepalive(struct ath10k *ar,
1041 const struct wmi_sta_keepalive_arg *arg)
1042{
1043 struct sk_buff *skb;
1044 u32 cmd_id;
1045
1046 if (!ar->wmi.ops->gen_sta_keepalive)
1047 return -EOPNOTSUPP;
1048
1049 skb = ar->wmi.ops->gen_sta_keepalive(ar, arg);
1050 if (IS_ERR(skb))
1051 return PTR_ERR(skb);
1052
1053 cmd_id = ar->wmi.cmd->sta_keepalive_cmd;
1054 return ath10k_wmi_cmd_send(ar, skb, cmd_id);
1055}
1056
1037#endif 1057#endif