1 /* -----------------------------------------------------------------------------
2  * Copyright (c) 2011 Ozmo Inc
3  * Released under the GNU General Public License Version 2 (GPLv2).
4  * -----------------------------------------------------------------------------
5  */
6 
7 #include <linux/init.h>
8 #include <linux/module.h>
9 #include <linux/timer.h>
10 #include <linux/sched.h>
11 #include <linux/netdevice.h>
12 #include <linux/errno.h>
13 #include <linux/ieee80211.h>
14 #include "ozdbg.h"
15 #include "ozpd.h"
16 #include "ozproto.h"
17 #include "ozcdev.h"
18 
19 unsigned int oz_dbg_mask = OZ_DEFAULT_DBG_MASK;
20 
21 /*
22  * The name of the 802.11 mac device. Empty string is the default value but a
23  * value can be supplied as a parameter to the module. An empty string means
24  * bind to nothing. '*' means bind to all netcards - this includes non-802.11
25  * netcards. Bindings can be added later using an IOCTL.
26  */
27 static char *g_net_dev = "";
28 module_param(g_net_dev, charp, S_IRUGO);
29 MODULE_PARM_DESC(g_net_dev, "The device(s) to bind to; "
30 	"'*' means all, '' (empty string; default) means none.");
31 
32 /*
33  * Context: process
34  */
ozwpan_init(void)35 static int __init ozwpan_init(void)
36 {
37 	int err;
38 
39 	err = oz_cdev_register();
40 	if (err)
41 		return err;
42 	err = oz_protocol_init(g_net_dev);
43 	if (err)
44 		goto err_protocol;
45 	oz_app_enable(OZ_APPID_USB, 1);
46 	oz_apps_init();
47 	return 0;
48 
49 err_protocol:
50 	oz_cdev_deregister();
51 	return err;
52 }
53 
54 /*
55  * Context: process
56  */
ozwpan_exit(void)57 static void __exit ozwpan_exit(void)
58 {
59 	oz_protocol_term();
60 	oz_apps_term();
61 	oz_cdev_deregister();
62 }
63 
64 module_init(ozwpan_init);
65 module_exit(ozwpan_exit);
66 
67 MODULE_AUTHOR("Chris Kelly");
68 MODULE_DESCRIPTION("Ozmo Devices USB over WiFi hcd driver");
69 MODULE_VERSION("1.0.13");
70 MODULE_LICENSE("GPL");
71 
72