iwlwifi: Add eeprom version to the version file in sysfs
authorTomas Winkler <tomas.winkler@intel.com>
Mon, 30 Jun 2008 09:23:02 +0000 (17:23 +0800)
committerJohn W. Linville <linville@tuxdriver.com>
Mon, 30 Jun 2008 21:37:38 +0000 (17:37 -0400)
This patch adds eeprom version display into device/version sysfs file
/sys/class/net/wlanX/devices/version

Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/iwlwifi/iwl4965-base.c

index f5911687671b1a28b3cdc0dc350b25aaee514914..6eee28dbdde8d18193037d1d4e03ec20a111ed18 100644 (file)
@@ -3728,16 +3728,28 @@ static ssize_t show_version(struct device *d,
 {
        struct iwl_priv *priv = d->driver_data;
        struct iwl_alive_resp *palive = &priv->card_alive;
+       ssize_t pos = 0;
+       u16 eeprom_ver;
 
        if (palive->is_valid)
-               return sprintf(buf, "fw version: 0x%01X.0x%01X.0x%01X.0x%01X\n"
-                                   "fw type: 0x%01X 0x%01X\n",
+               pos += sprintf(buf + pos,
+                               "fw version: 0x%01X.0x%01X.0x%01X.0x%01X\n"
+                               "fw type: 0x%01X 0x%01X\n",
                                palive->ucode_major, palive->ucode_minor,
                                palive->sw_rev[0], palive->sw_rev[1],
                                palive->ver_type, palive->ver_subtype);
-
        else
-               return sprintf(buf, "fw not loaded\n");
+               pos += sprintf(buf + pos, "fw not loaded\n");
+
+       if (priv->eeprom) {
+               eeprom_ver = iwl_eeprom_query16(priv, EEPROM_VERSION);
+               pos += sprintf(buf + pos, "EEPROM version: 0x%x\n",
+                                eeprom_ver);
+       } else {
+               pos += sprintf(buf + pos, "EEPROM not initialzed\n");
+       }
+
+       return pos;
 }
 
 static DEVICE_ATTR(version, S_IWUSR | S_IRUGO, show_version, NULL);