blob: 480544af45e555a2814ed94a3bf504dafe51adfe [file] [log] [blame]
Jeff Johnson2b0a7b82016-05-18 15:08:02 -07001/*
2 * Copyright (c) 2012-2016 The Linux Foundation. All rights reserved.
3 *
4 * Previously licensed under the ISC license by Qualcomm Atheros, Inc.
5 *
6 *
7 * Permission to use, copy, modify, and/or distribute this software for
8 * any purpose with or without fee is hereby granted, provided that the
9 * above copyright notice and this permission notice appear in all
10 * copies.
11 *
12 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
13 * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
14 * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
15 * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
16 * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
17 * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
18 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
19 * PERFORMANCE OF THIS SOFTWARE.
20 */
21
22/*
23 * This file was originally distributed by Qualcomm Atheros, Inc.
24 * under proprietary terms before Copyright ownership was assigned
25 * to the Linux Foundation.
26 */
27
28#if !defined(WLAN_HDD_LPASS_H)
29#define WLAN_HDD_LPASS_H
30
Jeff Johnson9afc5012016-09-23 13:56:27 -070031struct hdd_context_s;
Jeff Johnson2ae6f712016-09-23 15:08:48 -070032struct hdd_adapter_s;
Jeff Johnson9afc5012016-09-23 13:56:27 -070033
Jeff Johnson2b0a7b82016-05-18 15:08:02 -070034#ifdef WLAN_FEATURE_LPSS
Jeff Johnsond9dd4842016-05-18 16:49:29 -070035void wlan_hdd_send_status_pkg(hdd_adapter_t *adapter,
36 hdd_station_ctx_t *sta_ctx,
Jeff Johnson2b0a7b82016-05-18 15:08:02 -070037 uint8_t is_on, uint8_t is_connected);
Jeff Johnson2ae6f712016-09-23 15:08:48 -070038
39/**
Jeff Johnsoncef59bb2016-09-23 15:28:47 -070040 * hdd_lpass_notify_disconnect() - Notify LPASS of interface disconnect
41 * @adapter: The adapter that connected
42 *
43 * This function is used to notify the LPASS feature that an adapter
44 * has disconnected.
45 *
46 * Return: none
47 */
48void hdd_lpass_notify_disconnect(struct hdd_adapter_s *adapter);
49
50/**
Jeff Johnson2ae6f712016-09-23 15:08:48 -070051 * hdd_lpass_notify_mode_change() - Notify LPASS of interface mode change
52 * @adapter: The adapter whose mode was changed
53 *
54 * This function is used to notify the LPASS feature that an adapter
55 * had its mode changed.
56 *
57 * Return: none
58 */
59void hdd_lpass_notify_mode_change(struct hdd_adapter_s *adapter);
Jeff Johnson9afc5012016-09-23 13:56:27 -070060
61/**
62 * hdd_lpass_notify_start() - Notify LPASS of driver start
63 * @hdd_ctx: The global HDD context
64 *
65 * This function is used to notify the LPASS feature that the wlan
66 * driver has (re-)started.
67 *
68 * Return: none
69 */
70void hdd_lpass_notify_start(struct hdd_context_s *hdd_ctx);
Jeff Johnsonf7f66f02016-09-23 14:50:11 -070071
72/**
73 * hdd_lpass_notify_stop() - Notify LPASS of driver stop
74 * @hdd_ctx: The global HDD context
75 *
76 * This function is used to notify the LPASS feature that the wlan
77 * driver has stopped.
78 *
79 * Return: none
80 */
81void hdd_lpass_notify_stop(struct hdd_context_s *hdd_ctx);
Jeff Johnson2b0a7b82016-05-18 15:08:02 -070082#else
Jeff Johnsond9dd4842016-05-18 16:49:29 -070083static inline void wlan_hdd_send_status_pkg(hdd_adapter_t *adapter,
84 hdd_station_ctx_t *sta_ctx,
Jeff Johnson2b0a7b82016-05-18 15:08:02 -070085 uint8_t is_on, uint8_t is_connected)
86{
87 return;
88}
89
Jeff Johnsoncef59bb2016-09-23 15:28:47 -070090static inline void hdd_lpass_notify_disconnect(struct hdd_adapter_s *adapter)
91{
92}
Jeff Johnson2ae6f712016-09-23 15:08:48 -070093static inline void hdd_lpass_notify_mode_change(struct hdd_adapter_s *adapter)
Jeff Johnson2b0a7b82016-05-18 15:08:02 -070094{
Jeff Johnson2b0a7b82016-05-18 15:08:02 -070095}
Jeff Johnson9afc5012016-09-23 13:56:27 -070096static inline void hdd_lpass_notify_start(struct hdd_context_s *hdd_ctx) { }
Jeff Johnsonf7f66f02016-09-23 14:50:11 -070097static inline void hdd_lpass_notify_stop(struct hdd_context_s *hdd_ctx) { }
Jeff Johnson2b0a7b82016-05-18 15:08:02 -070098#endif
99
100#endif /* WLAN_HDD_LPASS_H */