summaryrefslogtreecommitdiffstats
path: root/sys/dev/cxgb/cxgb_t3fw.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/dev/cxgb/cxgb_t3fw.c')
-rw-r--r--sys/dev/cxgb/cxgb_t3fw.c69
1 files changed, 68 insertions, 1 deletions
diff --git a/sys/dev/cxgb/cxgb_t3fw.c b/sys/dev/cxgb/cxgb_t3fw.c
index cf54f9c..44a4103 100644
--- a/sys/dev/cxgb/cxgb_t3fw.c
+++ b/sys/dev/cxgb/cxgb_t3fw.c
@@ -13,6 +13,8 @@ __FBSDID("$FreeBSD$");
#include <cxgb_t3fw.h>
#include <t3b_protocol_sram.h>
#include <t3b_tp_eeprom.h>
+#include <t3c_protocol_sram.h>
+#include <t3c_tp_eeprom.h>
static int
cxgb_t3fw_modevent(module_t mod, int type, void *unused)
@@ -80,7 +82,6 @@ DECLARE_MODULE(cxgb_t3b_protocol_sram, cxgb_t3b_protocol_sram_mod, SI_SUB_DRIVER
MODULE_VERSION(cxgb_t3b_protocol_sram, 1);
MODULE_DEPEND(cxgb_t3b_protocol_sram, firmware, 1, 1, 1);
-
static int
cxgb_t3b_tp_eeprom_modevent(module_t mod, int type, void *unused)
{
@@ -113,3 +114,69 @@ static moduledata_t cxgb_t3b_tp_eeprom_mod = {
DECLARE_MODULE(cxgb_t3b_tp_eeprom, cxgb_t3b_tp_eeprom_mod, SI_SUB_DRIVERS, SI_ORDER_FIRST);
MODULE_VERSION(cxgb_t3b_tp_eeprom, 1);
MODULE_DEPEND(cxgb_t3b_tp_eeprom, firmware, 1, 1, 1);
+
+static int
+cxgb_t3c_protocol_sram_modevent(module_t mod, int type, void *unused)
+{
+ const struct firmware *fp, *parent;
+ int error;
+ switch (type) {
+ case MOD_LOAD:
+
+ fp = firmware_register("cxgb_t3c_protocol_sram", t3c_protocol_sram,
+ (size_t)t3c_protocol_sram_length,
+ 0, NULL);
+ if (fp == NULL)
+ goto fail_0;
+ parent = fp;
+ return (0);
+ fail_0:
+ return (ENXIO);
+ case MOD_UNLOAD:
+ error = firmware_unregister("cxgb_t3c_protocol_sram");
+ return (error);
+ }
+ return (EINVAL);
+}
+
+static moduledata_t cxgb_t3c_protocol_sram_mod = {
+ "cxgb_t3c_protocol_sram",
+ cxgb_t3c_protocol_sram_modevent,
+ 0
+};
+DECLARE_MODULE(cxgb_t3c_protocol_sram, cxgb_t3c_protocol_sram_mod, SI_SUB_DRIVERS, SI_ORDER_FIRST);
+MODULE_VERSION(cxgb_t3c_protocol_sram, 1);
+MODULE_DEPEND(cxgb_t3c_protocol_sram, firmware, 1, 1, 1);
+
+static int
+cxgb_t3c_tp_eeprom_modevent(module_t mod, int type, void *unused)
+{
+ const struct firmware *fp, *parent;
+ int error;
+ switch (type) {
+ case MOD_LOAD:
+
+ fp = firmware_register("cxgb_t3c_tp_eeprom", t3c_tp_eeprom,
+ (size_t)t3c_tp_eeprom_length,
+ 0, NULL);
+ if (fp == NULL)
+ goto fail_0;
+ parent = fp;
+ return (0);
+ fail_0:
+ return (ENXIO);
+ case MOD_UNLOAD:
+ error = firmware_unregister("cxgb_t3c_tp_eeprom");
+ return (error);
+ }
+ return (EINVAL);
+}
+
+static moduledata_t cxgb_t3c_tp_eeprom_mod = {
+ "cxgb_t3c_tp_eeprom",
+ cxgb_t3c_tp_eeprom_modevent,
+ 0
+};
+DECLARE_MODULE(cxgb_t3c_tp_eeprom, cxgb_t3c_tp_eeprom_mod, SI_SUB_DRIVERS, SI_ORDER_FIRST);
+MODULE_VERSION(cxgb_t3c_tp_eeprom, 1);
+MODULE_DEPEND(cxgb_t3c_tp_eeprom, firmware, 1, 1, 1);
OpenPOWER on IntegriCloud