]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - sys/dev/cxgb/cxgb_t3fw.c
Merge libcxxrt master fd484be8d1e94a1fcf6bc5c67e5c07b65ada19b6
[FreeBSD/FreeBSD.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 <cxgb_t3fw.h>
14 #include <t3b_protocol_sram.h>
15 #include <t3b_tp_eeprom.h>
16 #include <t3c_protocol_sram.h>
17 #include <t3c_tp_eeprom.h>
18
19 static int
20 cxgb_t3fw_modevent(module_t mod, int type, void *unused)
21 {
22         const struct firmware *fp;
23         int error;
24         switch (type) {
25         case MOD_LOAD:
26
27                 fp = firmware_register("cxgb_t3fw", t3fw, 
28                                        (size_t)t3fw_length,
29                                        0, NULL);
30                 if (fp == NULL)
31                         goto fail_0;
32                 return (0);
33         fail_0:
34                 return (ENXIO);
35         case MOD_UNLOAD:
36                 error = firmware_unregister("cxgb_t3fw");
37                 return (error);
38         }
39         return (EINVAL);
40 }
41
42 static moduledata_t cxgb_t3fw_mod = {
43         "cxgb_t3fw",
44         cxgb_t3fw_modevent,
45         0
46 };
47 DECLARE_MODULE(cxgb_t3fw, cxgb_t3fw_mod, SI_SUB_DRIVERS, SI_ORDER_FIRST);
48 MODULE_VERSION(cxgb_t3fw, 1);
49 MODULE_DEPEND(cxgb_t3fw, firmware, 1, 1, 1);
50
51 static int
52 cxgb_t3b_protocol_sram_modevent(module_t mod, int type, void *unused)
53 {
54         const struct firmware *fp;
55         int error;
56         switch (type) {
57         case MOD_LOAD:
58
59                 fp = firmware_register("cxgb_t3b_protocol_sram", t3b_protocol_sram, 
60                                        (size_t)t3b_protocol_sram_length,
61                                        0, NULL);
62                 if (fp == NULL)
63                         goto fail_0;
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 static int
84 cxgb_t3b_tp_eeprom_modevent(module_t mod, int type, void *unused)
85 {
86         const struct firmware *fp;
87         int error;
88         switch (type) {
89         case MOD_LOAD:
90
91                 fp = firmware_register("cxgb_t3b_tp_eeprom", t3b_tp_eeprom, 
92                                        (size_t)t3b_tp_eeprom_length,
93                                        0, NULL);
94                 if (fp == NULL)
95                         goto fail_0;
96                 return (0);
97         fail_0:
98                 return (ENXIO);
99         case MOD_UNLOAD:
100                 error = firmware_unregister("cxgb_t3b_tp_eeprom");
101                 return (error);
102         }
103         return (EINVAL);
104 }
105
106 static moduledata_t cxgb_t3b_tp_eeprom_mod = {
107         "cxgb_t3b_tp_eeprom",
108         cxgb_t3b_tp_eeprom_modevent,
109         0
110 };
111 DECLARE_MODULE(cxgb_t3b_tp_eeprom, cxgb_t3b_tp_eeprom_mod, SI_SUB_DRIVERS, SI_ORDER_FIRST);
112 MODULE_VERSION(cxgb_t3b_tp_eeprom, 1);
113 MODULE_DEPEND(cxgb_t3b_tp_eeprom, firmware, 1, 1, 1);
114
115 static int
116 cxgb_t3c_protocol_sram_modevent(module_t mod, int type, void *unused)
117 {
118         const struct firmware *fp;
119         int error;
120         switch (type) {
121         case MOD_LOAD:
122
123                 fp = firmware_register("cxgb_t3c_protocol_sram", t3c_protocol_sram, 
124                                        (size_t)t3c_protocol_sram_length,
125                                        0, NULL);
126                 if (fp == NULL)
127                         goto fail_0;
128                 return (0);
129         fail_0:
130                 return (ENXIO);
131         case MOD_UNLOAD:
132                 error = firmware_unregister("cxgb_t3c_protocol_sram");
133                 return (error);
134         }
135         return (EINVAL);
136 }
137
138 static moduledata_t cxgb_t3c_protocol_sram_mod = {
139         "cxgb_t3c_protocol_sram",
140         cxgb_t3c_protocol_sram_modevent,
141         0
142 };
143 DECLARE_MODULE(cxgb_t3c_protocol_sram, cxgb_t3c_protocol_sram_mod, SI_SUB_DRIVERS, SI_ORDER_FIRST);
144 MODULE_VERSION(cxgb_t3c_protocol_sram, 1);
145 MODULE_DEPEND(cxgb_t3c_protocol_sram, firmware, 1, 1, 1);
146
147 static int
148 cxgb_t3c_tp_eeprom_modevent(module_t mod, int type, void *unused)
149 {
150         const struct firmware *fp;
151         int error;
152         switch (type) {
153         case MOD_LOAD:
154
155                 fp = firmware_register("cxgb_t3c_tp_eeprom", t3c_tp_eeprom, 
156                                        (size_t)t3c_tp_eeprom_length,
157                                        0, NULL);
158                 if (fp == NULL)
159                         goto fail_0;
160                 return (0);
161         fail_0:
162                 return (ENXIO);
163         case MOD_UNLOAD:
164                 error = firmware_unregister("cxgb_t3c_tp_eeprom");
165                 return (error);
166         }
167         return (EINVAL);
168 }
169
170 static moduledata_t cxgb_t3c_tp_eeprom_mod = {
171         "cxgb_t3c_tp_eeprom",
172         cxgb_t3c_tp_eeprom_modevent,
173         0
174 };
175 DECLARE_MODULE(cxgb_t3c_tp_eeprom, cxgb_t3c_tp_eeprom_mod, SI_SUB_DRIVERS, SI_ORDER_FIRST);
176 MODULE_VERSION(cxgb_t3c_tp_eeprom, 1);
177 MODULE_DEPEND(cxgb_t3c_tp_eeprom, firmware, 1, 1, 1);