cxgb_t3fw.c revision 241370
180709Sjake/* 280709Sjake * from: FreeBSD: src/sys/tools/fw_stub.awk,v 1.6 2007/03/02 11:42:53 flz 380709Sjake */ 480709Sjake#include <sys/cdefs.h> 580709Sjake__FBSDID("$FreeBSD: head/sys/dev/cxgb/cxgb_t3fw.c 241370 2012-10-09 08:27:40Z kevlo $"); 680709Sjake#include <sys/param.h> 780709Sjake#include <sys/errno.h> 880709Sjake#include <sys/kernel.h> 980709Sjake#include <sys/module.h> 1080709Sjake#include <sys/linker.h> 1180709Sjake#include <sys/firmware.h> 1280709Sjake#include <sys/systm.h> 1380709Sjake#include <cxgb_t3fw.h> 1481337Sobrien#include <t3b_protocol_sram.h> 1580709Sjake#include <t3b_tp_eeprom.h> 1680709Sjake#include <t3c_protocol_sram.h> 1781337Sobrien#include <t3c_tp_eeprom.h> 1880709Sjake 1980709Sjakestatic int 2080709Sjakecxgb_t3fw_modevent(module_t mod, int type, void *unused) 2180709Sjake{ 2280709Sjake const struct firmware *fp, *parent; 2380709Sjake int error; 2480709Sjake switch (type) { 2580709Sjake case MOD_LOAD: 2680709Sjake 2780709Sjake fp = firmware_register("cxgb_t3fw", t3fw, 2880709Sjake (size_t)t3fw_length, 29145153Smarius 0, NULL); 30145153Smarius if (fp == NULL) 31145153Smarius goto fail_0; 32118239Speter parent = fp; 33118239Speter return (0); 3480709Sjake fail_0: 3580709Sjake return (ENXIO); 3682910Sjake case MOD_UNLOAD: 3780709Sjake error = firmware_unregister("cxgb_t3fw"); 3891783Sjake return (error); 3984186Sjake } 4080709Sjake return (EINVAL); 4180709Sjake} 4281381Sjake 4381381Sjakestatic moduledata_t cxgb_t3fw_mod = { 4480709Sjake "cxgb_t3fw", 45166105Smarius cxgb_t3fw_modevent, 4697001Sjake NULL 47166105Smarius}; 48166105SmariusDECLARE_MODULE(cxgb_t3fw, cxgb_t3fw_mod, SI_SUB_DRIVERS, SI_ORDER_FIRST); 49166105SmariusMODULE_VERSION(cxgb_t3fw, 1); 50166105SmariusMODULE_DEPEND(cxgb_t3fw, firmware, 1, 1, 1); 5180709Sjake 5280709Sjakestatic int 5389052Sjakecxgb_t3b_protocol_sram_modevent(module_t mod, int type, void *unused) 54166105Smarius{ 5580709Sjake const struct firmware *fp, *parent; 56163146Skmacy int error; 57163965Skmacy switch (type) { 58163146Skmacy case MOD_LOAD: 59163146Skmacy 60166105Smarius fp = firmware_register("cxgb_t3b_protocol_sram", t3b_protocol_sram, 6180709Sjake (size_t)t3b_protocol_sram_length, 6283756Sjake 0, NULL); 6383756Sjake if (fp == NULL) 6483366Sjulian goto fail_0; 6591360Sjake parent = fp; 6680709Sjake return (0); 6791224Sjake fail_0: 6891224Sjake return (ENXIO); 69182768Smarius case MOD_UNLOAD: 70182768Smarius error = firmware_unregister("cxgb_t3b_protocol_sram"); 71182768Smarius return (error); 72182768Smarius } 7381381Sjake return (EINVAL); 74182768Smarius} 7591783Sjake 7681381Sjakestatic moduledata_t cxgb_t3b_protocol_sram_mod = { 7791336Sjake "cxgb_t3b_protocol_sram", 7891336Sjake cxgb_t3b_protocol_sram_modevent, 7991336Sjake NULL 8080709Sjake}; 81102040SjakeDECLARE_MODULE(cxgb_t3b_protocol_sram, cxgb_t3b_protocol_sram_mod, SI_SUB_DRIVERS, SI_ORDER_FIRST); 82102040SjakeMODULE_VERSION(cxgb_t3b_protocol_sram, 1); 83102040SjakeMODULE_DEPEND(cxgb_t3b_protocol_sram, firmware, 1, 1, 1); 84163146Skmacy 8580709Sjakestatic int 8691783Sjakecxgb_t3b_tp_eeprom_modevent(module_t mod, int type, void *unused) 8789052Sjake{ 88166105Smarius const struct firmware *fp, *parent; 89182730Smarius int error; 90182730Smarius switch (type) { 9191617Sjake case MOD_LOAD: 92182730Smarius 9391617Sjake fp = firmware_register("cxgb_t3b_tp_eeprom", t3b_tp_eeprom, 94166105Smarius (size_t)t3b_tp_eeprom_length, 95166105Smarius 0, NULL); 96163152Skmacy if (fp == NULL) 97163146Skmacy goto fail_0; 9897001Sjake parent = fp; 99166105Smarius return (0); 10097001Sjake fail_0: 10197001Sjake return (ENXIO); 10297001Sjake case MOD_UNLOAD: 10397001Sjake error = firmware_unregister("cxgb_t3b_tp_eeprom"); 104166105Smarius return (error); 10597001Sjake } 10697001Sjake return (EINVAL); 10797001Sjake} 10882910Sjake 10993949Sjakestatic moduledata_t cxgb_t3b_tp_eeprom_mod = { 11093949Sjake "cxgb_t3b_tp_eeprom", 11182910Sjake cxgb_t3b_tp_eeprom_modevent, 11292199Sjake NULL 11393503Sjake}; 11493503SjakeDECLARE_MODULE(cxgb_t3b_tp_eeprom, cxgb_t3b_tp_eeprom_mod, SI_SUB_DRIVERS, SI_ORDER_FIRST); 11593503SjakeMODULE_VERSION(cxgb_t3b_tp_eeprom, 1); 11693503SjakeMODULE_DEPEND(cxgb_t3b_tp_eeprom, firmware, 1, 1, 1); 11793503Sjake 11893503Sjakestatic int 11993503Sjakecxgb_t3c_protocol_sram_modevent(module_t mod, int type, void *unused) 12082910Sjake{ 121163146Skmacy const struct firmware *fp, *parent; 122166105Smarius int error; 12391224Sjake switch (type) { 12480709Sjake case MOD_LOAD: 12580709Sjake 12681614Sjake fp = firmware_register("cxgb_t3c_protocol_sram", t3c_protocol_sram, 12780709Sjake (size_t)t3c_protocol_sram_length, 12888657Sjake 0, NULL); 129100771Sjake if (fp == NULL) 130100771Sjake goto fail_0; 13180709Sjake parent = fp; 13280709Sjake return (0); 133102040Sjake fail_0: 134102040Sjake return (ENXIO); 135163146Skmacy case MOD_UNLOAD: 136102040Sjake error = firmware_unregister("cxgb_t3c_protocol_sram"); 137166105Smarius return (error); 138166105Smarius } 139166105Smarius return (EINVAL); 140163146Skmacy} 141163146Skmacy 142163146Skmacystatic moduledata_t cxgb_t3c_protocol_sram_mod = { 143163146Skmacy "cxgb_t3c_protocol_sram", 144102040Sjake cxgb_t3c_protocol_sram_modevent, 145163146Skmacy NULL 146163146Skmacy}; 147163146SkmacyDECLARE_MODULE(cxgb_t3c_protocol_sram, cxgb_t3c_protocol_sram_mod, SI_SUB_DRIVERS, SI_ORDER_FIRST); 148163146SkmacyMODULE_VERSION(cxgb_t3c_protocol_sram, 1); 149163146SkmacyMODULE_DEPEND(cxgb_t3c_protocol_sram, firmware, 1, 1, 1); 150163146Skmacy 151163146Skmacystatic int 152163146Skmacycxgb_t3c_tp_eeprom_modevent(module_t mod, int type, void *unused) 15384186Sjake{ 15484186Sjake const struct firmware *fp, *parent; 15587702Sjhb int error; 15687702Sjhb switch (type) { 15787702Sjhb case MOD_LOAD: 15891337Sjake 15997265Sjake fp = firmware_register("cxgb_t3c_tp_eeprom", t3c_tp_eeprom, 16097265Sjake (size_t)t3c_tp_eeprom_length, 16197265Sjake 0, NULL); 162163146Skmacy if (fp == NULL) 163163146Skmacy goto fail_0; 164163146Skmacy parent = fp; 165163146Skmacy return (0); 166163146Skmacy fail_0: 167163146Skmacy return (ENXIO); 168163146Skmacy case MOD_UNLOAD: 169163146Skmacy error = firmware_unregister("cxgb_t3c_tp_eeprom"); 170163146Skmacy return (error); 171163146Skmacy } 172163146Skmacy return (EINVAL); 173163146Skmacy} 174163146Skmacy 175163146Skmacystatic moduledata_t cxgb_t3c_tp_eeprom_mod = { 176163146Skmacy "cxgb_t3c_tp_eeprom", 177163146Skmacy cxgb_t3c_tp_eeprom_modevent, 178163146Skmacy NULL 179163146Skmacy}; 180163146SkmacyDECLARE_MODULE(cxgb_t3c_tp_eeprom, cxgb_t3c_tp_eeprom_mod, SI_SUB_DRIVERS, SI_ORDER_FIRST); 181163146SkmacyMODULE_VERSION(cxgb_t3c_tp_eeprom, 1); 182163146SkmacyMODULE_DEPEND(cxgb_t3c_tp_eeprom, firmware, 1, 1, 1); 183163146Skmacy