From: Reinette Chatre Date: Mon, 10 May 2010 22:08:11 +0000 (-0700) Subject: Merge branch 'wireless-2.6' into wireless-next-2.6 X-Git-Tag: v2.6.35-rc1~473^2~42^2^2~75 X-Git-Url: https://asedeno.scripts.mit.edu/gitweb/?a=commitdiff_plain;h=a15707d80ee9a0e0812c5f1a1ed8e41e0a6e52f3;p=linux.git Merge branch 'wireless-2.6' into wireless-next-2.6 Conflicts: drivers/net/wireless/iwlwifi/iwl-dev.h --- a15707d80ee9a0e0812c5f1a1ed8e41e0a6e52f3 diff --cc drivers/net/wireless/iwlwifi/iwl-agn.c index d18c61223ac5,ae8eb09f8011..dc283769780e --- a/drivers/net/wireless/iwlwifi/iwl-agn.c +++ b/drivers/net/wireless/iwlwifi/iwl-agn.c @@@ -1776,6 -1741,7 +1776,7 @@@ static void iwl_ucode_callback(const st /* We have our copies now, allow OS release its copies */ release_firmware(ucode_raw); - complete(&priv->firmware_loading_complete); ++ complete(&priv->_agn.firmware_loading_complete); return; try_again: @@@ -1789,6 -1755,7 +1790,7 @@@ IWL_ERR(priv, "failed to allocate pci memory\n"); iwl_dealloc_ucode_pci(priv); out_unbind: - complete(&priv->firmware_loading_complete); ++ complete(&priv->_agn.firmware_loading_complete); device_release_driver(&priv->pci_dev->dev); release_firmware(ucode_raw); } @@@ -3586,6 -3673,8 +3588,8 @@@ static int iwl_pci_probe(struct pci_de iwl_power_initialize(priv); iwl_tt_initialize(priv); - init_completion(&priv->firmware_loading_complete); ++ init_completion(&priv->_agn.firmware_loading_complete); + err = iwl_request_firmware(priv, true); if (err) goto out_remove_sysfs; @@@ -3626,6 -3715,8 +3630,8 @@@ static void __devexit iwl_pci_remove(st if (!priv) return; - wait_for_completion(&priv->firmware_loading_complete); ++ wait_for_completion(&priv->_agn.firmware_loading_complete); + IWL_DEBUG_INFO(priv, "*** UNLOAD DRIVER ***\n"); iwl_dbgfs_unregister(priv); diff --cc drivers/net/wireless/iwlwifi/iwl-dev.h index 58c69a5798d4,4d4c6516430a..cd3b932ae808 --- a/drivers/net/wireless/iwlwifi/iwl-dev.h +++ b/drivers/net/wireless/iwlwifi/iwl-dev.h @@@ -1192,61 -1262,20 +1192,63 @@@ struct iwl_priv u16 beacon_int; struct ieee80211_vif *vif; - /*Added for 3945 */ - void *shared_virt; - dma_addr_t shared_phys; - /*End*/ - struct iwl_hw_params hw_params; + union { +#if defined(CONFIG_IWL3945) || defined(CONFIG_IWL3945_MODULE) + struct { + void *shared_virt; + dma_addr_t shared_phys; - /* INT ICT Table */ - __le32 *ict_tbl; - dma_addr_t ict_tbl_dma; - dma_addr_t aligned_ict_tbl_dma; - int ict_index; - void *ict_tbl_vir; - u32 inta; - bool use_ict; + struct delayed_work thermal_periodic; + struct delayed_work rfkill_poll; + + struct iwl3945_notif_statistics statistics; +#ifdef CONFIG_IWLWIFI_DEBUG + struct iwl3945_notif_statistics accum_statistics; + struct iwl3945_notif_statistics delta_statistics; + struct iwl3945_notif_statistics max_delta; +#endif + + u32 sta_supp_rates; + int last_rx_rssi; /* From Rx packet statistics */ + + /* Rx'd packet timing information */ + u32 last_beacon_time; + u64 last_tsf; + + /* + * each calibration channel group in the + * EEPROM has a derived clip setting for + * each rate. + */ + const struct iwl3945_clip_group clip_groups[5]; + + } _3945; +#endif +#if defined(CONFIG_IWLAGN) || defined(CONFIG_IWLAGN_MODULE) + struct { + /* INT ICT Table */ + __le32 *ict_tbl; + void *ict_tbl_vir; + dma_addr_t ict_tbl_dma; + dma_addr_t aligned_ict_tbl_dma; + int ict_index; + u32 inta; + bool use_ict; + /* + * reporting the number of tids has AGG on. 0 means + * no AGGREGATION + */ + u8 agg_tids_count; + + struct iwl_rx_phy_res last_phy_res; + bool last_phy_res_valid; ++ ++ struct completion firmware_loading_complete; + } _agn; +#endif + }; + + struct iwl_hw_params hw_params; u32 inta_mask; /* Current association information needed to configure the