diff options
author | Adel Gadllah <adel.gadllah@gmail.com> | 2008-07-01 11:49:50 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2008-07-08 10:21:35 -0400 |
commit | 80fcc9e28cf3a209fbfb39a7bbddc313c59c7424 (patch) | |
tree | fe77fdd591652db82a87bff12d4b1528a1ecdfe4 /drivers/net/wireless/iwlwifi/iwl-3945.h | |
parent | ebd74487d4b7a48ab8513ecfe3d321346d7c602e (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.h | 11 |
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 |
694 | struct iwl3945_priv; | 694 | struct iwl3945_priv; |
695 | 695 | ||
696 | struct iwl3945_rfkill_mngr { | ||
697 | struct rfkill *rfkill; | ||
698 | struct input_dev *input_dev; | ||
699 | }; | ||
700 | |||
701 | void iwl3945_rfkill_set_hw_state(struct iwl3945_priv *priv); | 696 | void iwl3945_rfkill_set_hw_state(struct iwl3945_priv *priv); |
702 | void iwl3945_rfkill_unregister(struct iwl3945_priv *priv); | 697 | void iwl3945_rfkill_unregister(struct iwl3945_priv *priv); |
703 | int iwl3945_rfkill_init(struct iwl3945_priv *priv); | 698 | int 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 |