xref: /wlan-dirver/qca-wifi-host-cmn/qdf/inc/qdf_module.h (revision 861af9fad3d20cded5a90c420dd1ed901be32691)
1 /*
2  * Copyright (c) 2014-2017 The Linux Foundation. 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  * @file qdf_module.h
21  * This file abstracts "kernel module" semantics.
22  */
23 
24 #ifndef _QDF_MODULE_H
25 #define _QDF_MODULE_H
26 
27 #include <i_qdf_module.h>
28 
29 typedef uint32_t (*module_init_func_t)(void);
30 
31 /**
32  * qdf_virt_module_init - Specify the module's entry point.
33  */
34 #define qdf_virt_module_init(_mod_init_func) \
35 	__qdf_virt_module_init(_mod_init_func)
36 
37 /**
38  * qdf_virt_module_exit - Specify the module's exit point.
39  */
40 #define qdf_virt_module_exit(_mod_exit_func) \
41 	__qdf_virt_module_exit(_mod_exit_func)
42 
43 /**
44  * qdf_virt_module_name - Specify the module's name.
45  */
46 #define qdf_virt_module_name(_name)      __qdf_virt_module_name(_name)
47 
48 
49 /**
50  * qdf_export_symbol - Export a symbol from a module.
51  */
52 #define qdf_export_symbol(_sym)         __qdf_export_symbol(_sym)
53 
54 /**
55  * qdf_declare_param - Declare a module parameter.
56  */
57 #define qdf_declare_param(name, _type) __qdf_declare_param(name, _type)
58 
59 /**
60  * qdf_declare_param_array - Declare a module parameter.
61  */
62 #define qdf_declare_param_array(name, _type, _num) \
63 	__qdf_declare_param_array(name, _type, _num)
64 
65 #endif /*_QDF_MODULE_H*/
66