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