diff options
author | Tomas Winkler <tomas.winkler@intel.com> | 2008-03-04 18:09:30 -0800 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2008-03-07 16:03:00 -0500 |
commit | 82b9a1213132aa53ddbcc459ed77a335d031cd2e (patch) | |
tree | f6e75639b37eba98273ce51cbdf4dad25d280fae /drivers/net/wireless/iwlwifi/iwl4965-base.c | |
parent | 750fe6396614e267aeec0e2ff636740e2688d4d9 (diff) | |
download | lwn-82b9a1213132aa53ddbcc459ed77a335d031cd2e.tar.gz lwn-82b9a1213132aa53ddbcc459ed77a335d031cd2e.zip |
iwlwifi: add struct iwl_cfg
This patch introduces struct iwl_cfg. struct iwl_cfg defines static
configuration for each device type and sku. It is passed as driver_data
to the bus probe function.
This patch also introduce new common header file iwl-core.h
which will represent core functionality of iwlwifi driver
3945ABG uses separate iwl-3945-dev.h header file for now
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
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/iwl4965-base.c')
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl4965-base.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl4965-base.c b/drivers/net/wireless/iwlwifi/iwl4965-base.c index 0c60f594dfe7..af97e0bdf483 100644 --- a/drivers/net/wireless/iwlwifi/iwl4965-base.c +++ b/drivers/net/wireless/iwlwifi/iwl4965-base.c @@ -45,6 +45,7 @@ #include <asm/div64.h> +#include "iwl-core.h" #include "iwl-4965.h" #include "iwl-helpers.h" @@ -5663,12 +5664,13 @@ static int iwl4965_init_geos(struct iwl4965_priv *priv) geo_ch->flags); } - if ((priv->bands[IEEE80211_BAND_5GHZ].n_channels == 0) && priv->is_abg) { + if ((priv->bands[IEEE80211_BAND_5GHZ].n_channels == 0) && + priv->cfg->sku & IWL_SKU_A) { printk(KERN_INFO DRV_NAME ": Incorrectly detected BG card as ABG. Please send " "your PCI ID 0x%04X:0x%04X to maintainer.\n", priv->pci_dev->device, priv->pci_dev->subsystem_device); - priv->is_abg = 0; + priv->cfg->sku &= ~IWL_SKU_A; } printk(KERN_INFO DRV_NAME @@ -8613,6 +8615,7 @@ static int iwl4965_pci_probe(struct pci_dev *pdev, const struct pci_device_id *e int err = 0; struct iwl4965_priv *priv; struct ieee80211_hw *hw; + struct iwl_cfg *cfg = (struct iwl_cfg *)(ent->driver_data); int i; DECLARE_MAC_BUF(mac); @@ -8646,6 +8649,7 @@ static int iwl4965_pci_probe(struct pci_dev *pdev, const struct pci_device_id *e IWL_DEBUG_INFO("*** LOAD DRIVER ***\n"); priv = hw->priv; priv->hw = hw; + priv->cfg = cfg; priv->pci_dev = pdev; priv->antenna = (enum iwl4965_antenna)iwl4965_param_antenna; @@ -8748,8 +8752,9 @@ static int iwl4965_pci_probe(struct pci_dev *pdev, const struct pci_device_id *e /* Choose which receivers/antennas to use */ iwl4965_set_rxon_chain(priv); + printk(KERN_INFO DRV_NAME - ": Detected Intel Wireless WiFi Link 4965AGN\n"); + ": Detected Intel Wireless WiFi Link %s\n", priv->cfg->name); /* Device-specific setup */ if (iwl4965_hw_set_hw_setting(priv)) { |