aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Buesch <mb@bu3sch.de>2008-02-08 18:18:35 -0500
committerJohn W. Linville <linville@tuxdriver.com>2008-02-15 13:44:18 -0500
commit26bc783f8cf7227718f8b4cbc32f0c3a898b128f (patch)
tree5931dced09999f8786d09aad23bba4faaa2aa56a
parent8e118f0ed866afab654a438b85643d4f1472f28b (diff)
b43: Add driver load messages
This adds printk messages with basic information about the driver being loaded. This information includes a summary of the compiled-in features, which simplifies bug-reporting and debugging a lot. Also a firmware ID is printed. This is a unique identifier blob for a specific version of the firmware. This ID is attached to a specific version of the firmware blob in b43-fwcutter (see fwcutter git). This helps users to select the right firmware for their device. This also makes it possible to use automated scripts to fetch and extract the right firmware for the driver. (the script will grep the .ko for the "Firmware-ID: xxx" string. While the driver might still support other versions of the firmware for backward compatibility, this will always print out the officially supported version, which people _should_ use. Signed-off-by: Michael Buesch <mb@bu3sch.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
-rw-r--r--drivers/net/wireless/b43/b43.h6
-rw-r--r--drivers/net/wireless/b43/main.c28
2 files changed, 34 insertions, 0 deletions
diff --git a/drivers/net/wireless/b43/b43.h b/drivers/net/wireless/b43/b43.h
index 08a011f0834a..f13346ba9dd2 100644
--- a/drivers/net/wireless/b43/b43.h
+++ b/drivers/net/wireless/b43/b43.h
@@ -14,6 +14,12 @@
14#include "lo.h" 14#include "lo.h"
15#include "phy.h" 15#include "phy.h"
16 16
17
18/* The unique identifier of the firmware that's officially supported by
19 * this driver version. */
20#define B43_SUPPORTED_FIRMWARE_ID "FW13"
21
22
17#ifdef CONFIG_B43_DEBUG 23#ifdef CONFIG_B43_DEBUG
18# define B43_DEBUG 1 24# define B43_DEBUG 1
19#else 25#else
diff --git a/drivers/net/wireless/b43/main.c b/drivers/net/wireless/b43/main.c
index ef65c41af00f..e55823cc3027 100644
--- a/drivers/net/wireless/b43/main.c
+++ b/drivers/net/wireless/b43/main.c
@@ -4200,6 +4200,33 @@ static struct ssb_driver b43_ssb_driver = {
4200 .resume = b43_resume, 4200 .resume = b43_resume,
4201}; 4201};
4202 4202
4203static void b43_print_driverinfo(void)
4204{
4205 const char *feat_pci = "", *feat_pcmcia = "", *feat_nphy = "",
4206 *feat_leds = "", *feat_rfkill = "";
4207
4208#ifdef CONFIG_B43_PCI_AUTOSELECT
4209 feat_pci = "P";
4210#endif
4211#ifdef CONFIG_B43_PCMCIA
4212 feat_pcmcia = "M";
4213#endif
4214#ifdef CONFIG_B43_NPHY
4215 feat_nphy = "N";
4216#endif
4217#ifdef CONFIG_B43_LEDS
4218 feat_leds = "L";
4219#endif
4220#ifdef CONFIG_B43_RFKILL
4221 feat_rfkill = "R";
4222#endif
4223 printk(KERN_INFO "Broadcom 43xx driver loaded "
4224 "[ Features: %s%s%s%s%s, Firmware-ID: "
4225 B43_SUPPORTED_FIRMWARE_ID " ]\n",
4226 feat_pci, feat_pcmcia, feat_nphy,
4227 feat_leds, feat_rfkill);
4228}
4229
4203static int __init b43_init(void) 4230static int __init b43_init(void)
4204{ 4231{
4205 int err; 4232 int err;
@@ -4211,6 +4238,7 @@ static int __init b43_init(void)
4211 err = ssb_driver_register(&b43_ssb_driver); 4238 err = ssb_driver_register(&b43_ssb_driver);
4212 if (err) 4239 if (err)
4213 goto err_pcmcia_exit; 4240 goto err_pcmcia_exit;
4241 b43_print_driverinfo();
4214 4242
4215 return err; 4243 return err;
4216 4244