Last active
October 14, 2019 17:51
-
-
Save ambroff/5567d3cb4c09c911168bdf3307915544 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff --git a/src/add-ons/kernel/drivers/network/wlan/idualwifi7260/glue.c b/src/add-ons/kernel/drivers/network/wlan/idualwifi7260/glue.c | |
index d45323202e..a221c129a1 100644 | |
--- a/src/add-ons/kernel/drivers/network/wlan/idualwifi7260/glue.c | |
+++ b/src/add-ons/kernel/drivers/network/wlan/idualwifi7260/glue.c | |
@@ -26,7 +26,7 @@ NO_HAIKU_FBSD_MII_DRIVER(); | |
NO_HAIKU_REENABLE_INTERRUPTS(); | |
HAIKU_DRIVER_REQUIREMENTS(FBSD_TASKQUEUES | FBSD_WLAN); | |
HAIKU_FIRMWARE_VERSION(1); | |
-HAIKU_FIRMWARE_NAME_MAP(7) = { | |
+HAIKU_FIRMWARE_NAME_MAP({ | |
{"iwm3160fw", "iwm-3160-17.ucode"}, | |
{"iwm3168fw", "iwm-3168-22.ucode"}, | |
{"iwm7260fw", "iwm-7260-17.ucode"}, | |
@@ -34,7 +34,7 @@ HAIKU_FIRMWARE_NAME_MAP(7) = { | |
{"iwm7265Dfw", "iwm-7265D-22.ucode"}, | |
{"iwm8000Cfw", "iwm-8000C-22.ucode"}, | |
{"iwm8265fw", "iwm-8265-22.ucode"}, | |
-}; | |
+}); | |
int | |
diff --git a/src/add-ons/kernel/drivers/network/wlan/iprowifi2100/glue.c b/src/add-ons/kernel/drivers/network/wlan/iprowifi2100/glue.c | |
index 1d26d7be64..e324a7f93a 100644 | |
--- a/src/add-ons/kernel/drivers/network/wlan/iprowifi2100/glue.c | |
+++ b/src/add-ons/kernel/drivers/network/wlan/iprowifi2100/glue.c | |
@@ -23,11 +23,11 @@ NO_HAIKU_FBSD_MII_DRIVER(); | |
NO_HAIKU_REENABLE_INTERRUPTS(); | |
HAIKU_DRIVER_REQUIREMENTS(FBSD_TASKQUEUES | FBSD_SWI_TASKQUEUE | FBSD_WLAN); | |
HAIKU_FIRMWARE_VERSION(130); | |
-HAIKU_FIRMWARE_NAME_MAP(3) = { | |
+HAIKU_FIRMWARE_NAME_MAP({ | |
{"ipw_bss", "ipw2100-1.3.fw"}, | |
{"ipw_ibss", "ipw2100-1.3-i.fw"}, | |
{"ipw_monitor", "ipw2100-1.3-p.fw"} | |
-}; | |
+}); | |
int | |
diff --git a/src/add-ons/kernel/drivers/network/wlan/iprowifi2200/glue.c b/src/add-ons/kernel/drivers/network/wlan/iprowifi2200/glue.c | |
index 8eca0d0851..02cbf47f6b 100644 | |
--- a/src/add-ons/kernel/drivers/network/wlan/iprowifi2200/glue.c | |
+++ b/src/add-ons/kernel/drivers/network/wlan/iprowifi2200/glue.c | |
@@ -22,8 +22,11 @@ HAIKU_FBSD_WLAN_DRIVER_GLUE(iprowifi2200, iwi, pci) | |
NO_HAIKU_FBSD_MII_DRIVER(); | |
HAIKU_DRIVER_REQUIREMENTS(FBSD_TASKQUEUES | FBSD_WLAN); | |
HAIKU_FIRMWARE_VERSION(300); | |
-HAIKU_FIRMWARE_NAME_MAP(3) = {{"iwi_bss", "ipw2200-bss.fw"}, | |
- {"iwi_ibss", "ipw2200-ibss.fw"}, {"iwi_monitor", "ipw2200-sniffer.fw"}}; | |
+HAIKU_FIRMWARE_NAME_MAP({ | |
+ {"iwi_bss", "ipw2200-bss.fw"}, | |
+ {"iwi_ibss", "ipw2200-ibss.fw"}, | |
+ {"iwi_monitor", "ipw2200-sniffer.fw"} | |
+}); | |
int | |
diff --git a/src/add-ons/kernel/drivers/network/wlan/iprowifi3945/glue.c b/src/add-ons/kernel/drivers/network/wlan/iprowifi3945/glue.c | |
index f3b84110ef..8a2e994fc3 100644 | |
--- a/src/add-ons/kernel/drivers/network/wlan/iprowifi3945/glue.c | |
+++ b/src/add-ons/kernel/drivers/network/wlan/iprowifi3945/glue.c | |
@@ -25,7 +25,7 @@ NO_HAIKU_FBSD_MII_DRIVER(); | |
NO_HAIKU_REENABLE_INTERRUPTS(); | |
HAIKU_DRIVER_REQUIREMENTS(FBSD_TASKQUEUES | FBSD_WLAN); | |
HAIKU_FIRMWARE_VERSION(2144); | |
-HAIKU_FIRMWARE_NAME_MAP(1) = {{"wpifw", "iwlwifi-3945-2.ucode"}}; | |
+HAIKU_FIRMWARE_NAME_MAP({{"wpifw", "iwlwifi-3945-2.ucode"}}); | |
int | |
diff --git a/src/add-ons/kernel/drivers/network/wlan/iprowifi4965/glue.c b/src/add-ons/kernel/drivers/network/wlan/iprowifi4965/glue.c | |
index d67d05469a..80387322e4 100644 | |
--- a/src/add-ons/kernel/drivers/network/wlan/iprowifi4965/glue.c | |
+++ b/src/add-ons/kernel/drivers/network/wlan/iprowifi4965/glue.c | |
@@ -26,7 +26,7 @@ NO_HAIKU_FBSD_MII_DRIVER(); | |
NO_HAIKU_REENABLE_INTERRUPTS(); | |
HAIKU_DRIVER_REQUIREMENTS(FBSD_TASKQUEUES | FBSD_WLAN); | |
HAIKU_FIRMWARE_VERSION(44417); | |
-HAIKU_FIRMWARE_NAME_MAP(13) = { | |
+HAIKU_FIRMWARE_NAME_MAP({ | |
{"iwn100fw", "iwlwifi-100-5.ucode"}, | |
{"iwn105fw", "iwlwifi-105-6.ucode"}, | |
{"iwn135fw", "iwlwifi-135-6.ucode"}, | |
@@ -40,7 +40,7 @@ HAIKU_FIRMWARE_NAME_MAP(13) = { | |
{"iwn6000g2afw", "iwlwifi-6000g2a-6.ucode"}, | |
{"iwn6000g2bfw", "iwlwifi-6000g2b-6.ucode"}, | |
{"iwn6050fw", "iwlwifi-6050-5.ucode"} | |
-}; | |
+}); | |
int | |
diff --git a/src/add-ons/kernel/drivers/network/wlan/ralinkwifi/glue.c b/src/add-ons/kernel/drivers/network/wlan/ralinkwifi/glue.c | |
index 3c906eb7b4..f3893c5f27 100644 | |
--- a/src/add-ons/kernel/drivers/network/wlan/ralinkwifi/glue.c | |
+++ b/src/add-ons/kernel/drivers/network/wlan/ralinkwifi/glue.c | |
@@ -28,12 +28,12 @@ | |
HAIKU_FBSD_WLAN_DRIVER_GLUE(ralinkwifi, ral, pci) | |
HAIKU_DRIVER_REQUIREMENTS(FBSD_TASKQUEUES | FBSD_SWI_TASKQUEUE | FBSD_WLAN); | |
HAIKU_FIRMWARE_VERSION(0); | |
-HAIKU_FIRMWARE_NAME_MAP(4) = { | |
+HAIKU_FIRMWARE_NAME_MAP({ | |
{"rt2561fw", "rt2561.bin"}, | |
{"rt2561sfw", "rt2561s.bin"}, | |
{"rt2661fw", "rt2661.bin"}, | |
{"rt2860fw", "rt2860.bin"} | |
-}; | |
+}); | |
NO_HAIKU_FBSD_MII_DRIVER(); | |
NO_HAIKU_REENABLE_INTERRUPTS(); | |
diff --git a/src/add-ons/kernel/drivers/network/wlan/realtekwifi/glue.c b/src/add-ons/kernel/drivers/network/wlan/realtekwifi/glue.c | |
index e67e085ccc..e89a2b1c55 100644 | |
--- a/src/add-ons/kernel/drivers/network/wlan/realtekwifi/glue.c | |
+++ b/src/add-ons/kernel/drivers/network/wlan/realtekwifi/glue.c | |
@@ -24,11 +24,11 @@ | |
HAIKU_FBSD_WLAN_DRIVER_GLUE(realtekwifi, rtwn_pci, pci) | |
HAIKU_DRIVER_REQUIREMENTS(FBSD_WLAN); | |
HAIKU_FIRMWARE_VERSION(0); | |
-HAIKU_FIRMWARE_NAME_MAP(3) = { | |
+HAIKU_FIRMWARE_NAME_MAP({ | |
{"rtwn-rtl8188eefw", "rtl8188eefw.ucode"}, | |
{"rtwn-rtl8192cfwE", "rtl8192cfwE.ucode"}, | |
{"rtwn-rtl8192cfwE_B", "rtl8192cfwE_B.ucode"}, | |
-}; | |
+}); | |
NO_HAIKU_FBSD_MII_DRIVER(); | |
NO_HAIKU_REENABLE_INTERRUPTS(); | |
diff --git a/src/libs/compat/freebsd_network/compat/sys/haiku-module.h b/src/libs/compat/freebsd_network/compat/sys/haiku-module.h | |
index 5c569de0cf..6fc14e1a17 100644 | |
--- a/src/libs/compat/freebsd_network/compat/sys/haiku-module.h | |
+++ b/src/libs/compat/freebsd_network/compat/sys/haiku-module.h | |
@@ -234,9 +234,17 @@ extern const uint __haiku_firmware_version; | |
extern const uint __haiku_firmware_parts_count; | |
extern const char* __haiku_firmware_name_map[][2]; | |
-#define HAIKU_FIRMWARE_NAME_MAP(firmwarePartsCount) \ | |
- const uint __haiku_firmware_parts_count = firmwarePartsCount; \ | |
- const char* __haiku_firmware_name_map[firmwarePartsCount][2] | |
+/* | |
+ * Provide a firmware name mapping as a multi-dimentional const char* array. | |
+ * | |
+ * HAIKU_FIRMWARE_NAME_MAP({ | |
+ * {"name-used-by-driver", "actual-name-of-firmware-file-on-disk"}, | |
+ * ... | |
+ * }); | |
+ */ | |
+#define HAIKU_FIRMWARE_NAME_MAP(...) \ | |
+ const char* __haiku_firmware_name_map[][2] = __VA_ARGS__; \ | |
+ const uint __haiku_firmware_parts_count = B_COUNT_OF(__haiku_firmware_name_map); | |
#define NO_HAIKU_FIRMWARE_NAME_MAP() \ | |
const uint __haiku_firmware_parts_count = 0; \ |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment