aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/iwlwifi/iwl-3945.h
diff options
context:
space:
mode:
authorAdel Gadllah <adel.gadllah@gmail.com>2008-07-01 11:49:50 -0400
committerJohn W. Linville <linville@tuxdriver.com>2008-07-08 10:21:35 -0400
commit80fcc9e28cf3a209fbfb39a7bbddc313c59c7424 (patch)
treefe77fdd591652db82a87bff12d4b1528a1ecdfe4 /drivers/net/wireless/iwlwifi/iwl-3945.h
parentebd74487d4b7a48ab8513ecfe3d321346d7c602e (diff)
iwlwifi: remove input device and fix rfkill state
This patch fixes the iwlwifi rfkill. It removes the input device from iwl3945, adds support for RFKILL_STATE_HARD_BLOCKED and calls rfkill_force_state() to update the state rather than accessing it directly. The calls to iwl|iwl3945_rfkill_set_hw_state() had to be moved because rfkill_force_state() cannot be called from an atomic context. Tested on iwl3945 and seems to work fine. Cc: Randy Dunlap <randy.dunlap@oracle.com> Cc: Ivo van Doorn <ivdoorn@gmail.com> Cc: Fabien Crespel <fcrespel@gmail.com> Cc: Zhu Yi <yi.zhu@intel.com> Cc: Henrique de Moraes Holschuh <hmh@hmh.eng.br> Signed-off-by: Adel Gadllah <adel.gadllah@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl-3945.h')
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-3945.h11
1 files changed, 3 insertions, 8 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-3945.h b/drivers/net/wireless/iwlwifi/iwl-3945.h
index a77497809d97..9c0a09eaca6f 100644
--- a/drivers/net/wireless/iwlwifi/iwl-3945.h
+++ b/drivers/net/wireless/iwlwifi/iwl-3945.h
@@ -690,14 +690,9 @@ enum {
690 690
691#endif 691#endif
692 692
693#ifdef CONFIG_IWLWIFI_RFKILL 693#ifdef CONFIG_IWL3945_RFKILL
694struct iwl3945_priv; 694struct iwl3945_priv;
695 695
696struct iwl3945_rfkill_mngr {
697 struct rfkill *rfkill;
698 struct input_dev *input_dev;
699};
700
701void iwl3945_rfkill_set_hw_state(struct iwl3945_priv *priv); 696void iwl3945_rfkill_set_hw_state(struct iwl3945_priv *priv);
702void iwl3945_rfkill_unregister(struct iwl3945_priv *priv); 697void iwl3945_rfkill_unregister(struct iwl3945_priv *priv);
703int iwl3945_rfkill_init(struct iwl3945_priv *priv); 698int iwl3945_rfkill_init(struct iwl3945_priv *priv);
@@ -800,8 +795,8 @@ struct iwl3945_priv {
800 struct iwl3945_init_alive_resp card_alive_init; 795 struct iwl3945_init_alive_resp card_alive_init;
801 struct iwl3945_alive_resp card_alive; 796 struct iwl3945_alive_resp card_alive;
802 797
803#ifdef CONFIG_IWLWIFI_RFKILL 798#ifdef CONFIG_IWL3945_RFKILL
804 struct iwl3945_rfkill_mngr rfkill_mngr; 799 struct rfkill *rfkill;
805#endif 800#endif
806 801
807#ifdef CONFIG_IWL3945_LEDS 802#ifdef CONFIG_IWL3945_LEDS