diff options
author | Tomas Winkler <tomas.winkler@intel.com> | 2008-06-30 17:23:02 +0800 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2008-06-30 17:37:38 -0400 |
commit | f236a2657794b6f10b582bf6ccfbca7bf0d5ec82 (patch) | |
tree | 75673ee21071436164a84d699345bf66d2a7bdd7 /drivers/net | |
parent | 853554accce19d16b03476676bdcb1ccdd44caae (diff) | |
download | kernel-crypto-f236a2657794b6f10b582bf6ccfbca7bf0d5ec82.tar.gz kernel-crypto-f236a2657794b6f10b582bf6ccfbca7bf0d5ec82.tar.xz kernel-crypto-f236a2657794b6f10b582bf6ccfbca7bf0d5ec82.zip |
iwlwifi: Add eeprom version to the version file in sysfs
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>
Diffstat (limited to 'drivers/net')
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl4965-base.c | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl4965-base.c b/drivers/net/wireless/iwlwifi/iwl4965-base.c index f5911687671..6eee28dbdde 100644 --- a/drivers/net/wireless/iwlwifi/iwl4965-base.c +++ b/drivers/net/wireless/iwlwifi/iwl4965-base.c @@ -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); |