xref: /wlan-driver/qcacld-3.0/core/hdd/src/wlan_hdd_sysfs_get_freq_for_pwr.h (revision 5113495b16420b49004c444715d2daae2066e7dc)
1 /*
2  * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
3  *
4  * Permission to use, copy, modify, and/or distribute this software for
5  * any purpose with or without fee is hereby granted, provided that the
6  * above copyright notice and this permission notice appear in all
7  * copies.
8  *
9  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
10  * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
11  * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
12  * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
13  * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
14  * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
15  * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
16  * PERFORMANCE OF THIS SOFTWARE.
17  */
18 
19 /**
20  * DOC: wlan_hdd_sysfs_get_freq_for_pwr.h
21  *
22  * implementation for creating sysfs file valid_freq that contains
23  * valid freq list for provided power type
24  */
25 #ifndef _WLAN_HDD_SYSFS_FREQ_FOR_PWR_H
26 #define _WLAN_HDD_SYSFS_FREQ_FOR_PWR_H
27 #if defined(WLAN_SYSFS) && defined(CONFIG_WLAN_FREQ_LIST)
28 /**
29  * hdd_sysfs_get_valid_freq_for_power_create() - API to create get_valid_freq
30  * @driver_kobject: sysfs driver kobject
31  *
32  * file path: /sys/kernel/wifi/valid_freq
33  *
34  * usage:
35  *      echo "VLP"/"LP"/"SP" > valid_freq
36  *
37  * Return: 0 on success and errno on failure
38  */
39 int hdd_sysfs_get_valid_freq_for_power_create(struct kobject *driver_kobject);
40 
41 /**
42  * hdd_sysfs_get_valid_freq_for_power_destroy() -
43  * API to destroy get_valid_freq sysfs
44  * @driver_kobject: sysfs driver kobject
45  *
46  * Return: none
47  */
48 void
49 hdd_sysfs_get_valid_freq_for_power_destroy(struct kobject *driver_kobject);
50 #else
51 static inline int
hdd_sysfs_get_valid_freq_for_power_create(struct kobject * driver_kobject)52 hdd_sysfs_get_valid_freq_for_power_create(struct kobject *driver_kobject)
53 {
54 	return 0;
55 }
56 
57 static inline void
hdd_sysfs_get_valid_freq_for_power_destroy(struct kobject * driver_kobject)58 hdd_sysfs_get_valid_freq_for_power_destroy(struct kobject *driver_kobject)
59 {
60 }
61 #endif
62 #endif
63