diff options
author | Chatre, Reinette <reinette.chatre@intel.com> | 2008-12-02 15:14:05 -0500 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2008-12-05 09:35:55 -0500 |
commit | c02b3acd29766c6f79c2411cb5b85e1ee72c4c8f (patch) | |
tree | 2d7535f861a543a6578f9b0bfa594e2837ebaf17 /drivers/net/wireless/iwlwifi/iwl-agn.c | |
parent | f3f911d1773d31f11038d90b04244bc3986c4ccd (diff) |
iwlwifi: store ucode version number
We store the ucode version number as part of
iwl_priv/iwl3945_priv. This enables us to determine
if particular ucode has support for features in order
to have driver support more than one ucode API.
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl-agn.c')
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-agn.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-agn.c b/drivers/net/wireless/iwlwifi/iwl-agn.c index e8368b69d8c..5912cdec33a 100644 --- a/drivers/net/wireless/iwlwifi/iwl-agn.c +++ b/drivers/net/wireless/iwlwifi/iwl-agn.c | |||
@@ -1575,7 +1575,7 @@ static int iwl_read_ucode(struct iwl_priv *priv) | |||
1575 | const char *name = priv->cfg->fw_name; | 1575 | const char *name = priv->cfg->fw_name; |
1576 | u8 *src; | 1576 | u8 *src; |
1577 | size_t len; | 1577 | size_t len; |
1578 | u32 ver, inst_size, data_size, init_size, init_data_size, boot_size; | 1578 | u32 inst_size, data_size, init_size, init_data_size, boot_size; |
1579 | 1579 | ||
1580 | /* Ask kernel firmware_class module to get the boot firmware off disk. | 1580 | /* Ask kernel firmware_class module to get the boot firmware off disk. |
1581 | * request_firmware() is synchronous, file is in memory on return. */ | 1581 | * request_firmware() is synchronous, file is in memory on return. */ |
@@ -1599,14 +1599,20 @@ static int iwl_read_ucode(struct iwl_priv *priv) | |||
1599 | /* Data from ucode file: header followed by uCode images */ | 1599 | /* Data from ucode file: header followed by uCode images */ |
1600 | ucode = (void *)ucode_raw->data; | 1600 | ucode = (void *)ucode_raw->data; |
1601 | 1601 | ||
1602 | ver = le32_to_cpu(ucode->ver); | 1602 | priv->ucode_ver = le32_to_cpu(ucode->ver); |
1603 | inst_size = le32_to_cpu(ucode->inst_size); | 1603 | inst_size = le32_to_cpu(ucode->inst_size); |
1604 | data_size = le32_to_cpu(ucode->data_size); | 1604 | data_size = le32_to_cpu(ucode->data_size); |
1605 | init_size = le32_to_cpu(ucode->init_size); | 1605 | init_size = le32_to_cpu(ucode->init_size); |
1606 | init_data_size = le32_to_cpu(ucode->init_data_size); | 1606 | init_data_size = le32_to_cpu(ucode->init_data_size); |
1607 | boot_size = le32_to_cpu(ucode->boot_size); | 1607 | boot_size = le32_to_cpu(ucode->boot_size); |
1608 | 1608 | ||
1609 | IWL_DEBUG_INFO("f/w package hdr ucode version = 0x%x\n", ver); | 1609 | IWL_DEBUG_INFO("f/w package hdr ucode version raw = 0x%x\n", |
1610 | priv->ucode_ver); | ||
1611 | IWL_DEBUG_INFO("f/w package hdr ucode version = %u.%u.%u.%u\n", | ||
1612 | IWL_UCODE_MAJOR(priv->ucode_ver), | ||
1613 | IWL_UCODE_MINOR(priv->ucode_ver), | ||
1614 | IWL_UCODE_API(priv->ucode_ver), | ||
1615 | IWL_UCODE_SERIAL(priv->ucode_ver)); | ||
1610 | IWL_DEBUG_INFO("f/w package hdr runtime inst size = %u\n", | 1616 | IWL_DEBUG_INFO("f/w package hdr runtime inst size = %u\n", |
1611 | inst_size); | 1617 | inst_size); |
1612 | IWL_DEBUG_INFO("f/w package hdr runtime data size = %u\n", | 1618 | IWL_DEBUG_INFO("f/w package hdr runtime data size = %u\n", |