aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/iwlwifi/iwl-power.h
diff options
context:
space:
mode:
authorSamuel Ortiz <samuel.ortiz@intel.com>2008-12-18 21:37:14 -0500
committerJohn W. Linville <linville@tuxdriver.com>2009-01-29 15:58:59 -0500
commit1125eff3ae26b2e39c6bf940b5e0b8774ebd2896 (patch)
tree52fdfab290f3c3a7e287a635850abfddbdcff297 /drivers/net/wireless/iwlwifi/iwl-power.h
parentb5b83239e7a3540ff31db24249b90f9f6d7f5be8 (diff)
iwl3945: Remove power related definitions from 3945 code
Most of the power (not TX power, but power management) structures and definitions are duplicated accross iwl-power.h and iwl-3945.h. We should try to only use the iwl header. Signed-off-by: Samuel Ortiz <samuel.ortiz@intel.com> Acked-by: Abhijeet Kolekar <abhijeet.kolekar@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/iwl-power.h')
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-power.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-power.h b/drivers/net/wireless/iwlwifi/iwl-power.h
index fa098d8975ce..7cab04f1bf4a 100644
--- a/drivers/net/wireless/iwlwifi/iwl-power.h
+++ b/drivers/net/wireless/iwlwifi/iwl-power.h
@@ -42,7 +42,10 @@ enum {
42 IWL_POWER_INDEX_5, 42 IWL_POWER_INDEX_5,
43 IWL_POWER_AUTO, 43 IWL_POWER_AUTO,
44 IWL_POWER_MAX = IWL_POWER_AUTO, 44 IWL_POWER_MAX = IWL_POWER_AUTO,
45 IWL39_POWER_AC = IWL_POWER_AUTO, /* 0x06 */
45 IWL_POWER_AC, 46 IWL_POWER_AC,
47 IWL39_POWER_BATTERY = IWL_POWER_AC, /* 0x07 */
48 IWL39_POWER_LIMIT = IWL_POWER_AC,
46 IWL_POWER_BATTERY, 49 IWL_POWER_BATTERY,
47}; 50};
48 51
@@ -56,6 +59,11 @@ enum {
56#define IWL_POWER_MASK 0x0F 59#define IWL_POWER_MASK 0x0F
57#define IWL_POWER_ENABLED 0x10 60#define IWL_POWER_ENABLED 0x10
58 61
62#define IWL_POWER_RANGE_0 (0)
63#define IWL_POWER_RANGE_1 (1)
64
65#define IWL_POWER_LEVEL(x) ((x) & IWL_POWER_MASK)
66
59/* Power management (not Tx power) structures */ 67/* Power management (not Tx power) structures */
60 68
61struct iwl_power_vec_entry { 69struct iwl_power_vec_entry {
@@ -78,6 +86,14 @@ struct iwl_power_mgr {
78 u8 power_disabled; /* flag to disable using power saving level */ 86 u8 power_disabled; /* flag to disable using power saving level */
79}; 87};
80 88
89struct iwl3945_power_mgr {
90 spinlock_t lock;
91 struct iwl_power_vec_entry pwr_range_0[IWL_POWER_AC];
92 struct iwl_power_vec_entry pwr_range_1[IWL_POWER_AC];
93 u8 active_index;
94 u32 dtim_val;
95};
96
81void iwl_setup_power_deferred_work(struct iwl_priv *priv); 97void iwl_setup_power_deferred_work(struct iwl_priv *priv);
82void iwl_power_cancel_timeout(struct iwl_priv *priv); 98void iwl_power_cancel_timeout(struct iwl_priv *priv);
83int iwl_power_update_mode(struct iwl_priv *priv, bool force); 99int iwl_power_update_mode(struct iwl_priv *priv, bool force);