]> CyberLeo.Net >> Repos - FreeBSD/releng/7.2.git/blob - sys/dev/cxgb/cxgb_t3fw.c
Create releng/7.2 from stable/7 in preparation for 7.2-RELEASE.
[FreeBSD/releng/7.2.git] / sys / dev / cxgb / cxgb_t3fw.c
1 /*
2  * from: FreeBSD: src/sys/tools/fw_stub.awk,v 1.6 2007/03/02 11:42:53 flz
3  */
4 #include <sys/cdefs.h>
5 __FBSDID("$FreeBSD$");
6 #include <sys/param.h>
7 #include <sys/errno.h>
8 #include <sys/kernel.h>
9 #include <sys/module.h>
10 #include <sys/linker.h>
11 #include <sys/firmware.h>
12 #include <sys/systm.h>
13 #include <dev/cxgb/cxgb_t3fw.h>
14 #include <dev/cxgb/t3b_protocol_sram.h>
15 #include <dev/cxgb/t3b_tp_eeprom.h>
16
17 static int
18 cxgb_t3fw_modevent(module_t mod, int type, void *unused)
19 {
20         const struct firmware *fp, *parent;
21         int error;
22         switch (type) {
23         case MOD_LOAD:
24
25                 fp = firmware_register("cxgb_t3fw", t3fw, 
26                                        (size_t)t3fw_length,
27                                        0, NULL);
28                 if (fp == NULL)
29                         goto fail_0;
30                 parent = fp;
31                 return (0);
32         fail_0:
33                 return (ENXIO);
34         case MOD_UNLOAD:
35                 error = firmware_unregister("cxgb_t3fw");
36                 return (error);
37         }
38         return (EINVAL);
39 }
40
41 static moduledata_t cxgb_t3fw_mod = {
42         "cxgb_t3fw",
43         cxgb_t3fw_modevent,
44         0
45 };
46 DECLARE_MODULE(cxgb_t3fw, cxgb_t3fw_mod, SI_SUB_DRIVERS, SI_ORDER_FIRST);
47 MODULE_VERSION(cxgb_t3fw, 1);
48 MODULE_DEPEND(cxgb_t3fw, firmware, 1, 1, 1);
49
50 static int
51 cxgb_t3b_protocol_sram_modevent(module_t mod, int type, void *unused)
52 {
53         const struct firmware *fp, *parent;
54         int error;
55         switch (type) {
56         case MOD_LOAD:
57
58                 fp = firmware_register("cxgb_t3b_protocol_sram", t3b_protocol_sram, 
59                                        (size_t)t3b_protocol_sram_length,
60                                        0, NULL);
61                 if (fp == NULL)
62                         goto fail_0;
63                 parent = fp;
64                 return (0);
65         fail_0:
66                 return (ENXIO);
67         case MOD_UNLOAD:
68                 error = firmware_unregister("cxgb_t3b_protocol_sram");
69                 return (error);
70         }
71         return (EINVAL);
72 }
73
74 static moduledata_t cxgb_t3b_protocol_sram_mod = {
75         "cxgb_t3b_protocol_sram",
76         cxgb_t3b_protocol_sram_modevent,
77         0
78 };
79 DECLARE_MODULE(cxgb_t3b_protocol_sram, cxgb_t3b_protocol_sram_mod, SI_SUB_DRIVERS, SI_ORDER_FIRST);
80 MODULE_VERSION(cxgb_t3b_protocol_sram, 1);
81 MODULE_DEPEND(cxgb_t3b_protocol_sram, firmware, 1, 1, 1);
82
83
84 static int
85 cxgb_t3b_tp_eeprom_modevent(module_t mod, int type, void *unused)
86 {
87         const struct firmware *fp, *parent;
88         int error;
89         switch (type) {
90         case MOD_LOAD:
91
92                 fp = firmware_register("cxgb_t3b_tp_eeprom", t3b_tp_eeprom, 
93                                        (size_t)t3b_tp_eeprom_length,
94                                        0, NULL);
95                 if (fp == NULL)
96                         goto fail_0;
97                 parent = fp;
98                 return (0);
99         fail_0:
100                 return (ENXIO);
101         case MOD_UNLOAD:
102                 error = firmware_unregister("cxgb_t3b_tp_eeprom");
103                 return (error);
104         }
105         return (EINVAL);
106 }
107
108 static moduledata_t cxgb_t3b_tp_eeprom_mod = {
109         "cxgb_t3b_tp_eeprom",
110         cxgb_t3b_tp_eeprom_modevent,
111         0
112 };
113 DECLARE_MODULE(cxgb_t3b_tp_eeprom, cxgb_t3b_tp_eeprom_mod, SI_SUB_DRIVERS, SI_ORDER_FIRST);
114 MODULE_VERSION(cxgb_t3b_tp_eeprom, 1);
115 MODULE_DEPEND(cxgb_t3b_tp_eeprom, firmware, 1, 1, 1);