diff options
author | Abhijeet Kolekar <abhijeet.kolekar@intel.com> | 2008-06-30 05:23:18 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2008-06-30 17:37:42 -0400 |
commit | ebef2008082f579d8a40cc92e868fe8bf1296a60 (patch) | |
tree | 7e4b21c4306e6c32e8121a72413cb3f594217617 /drivers/net/wireless/iwlwifi/iwl-3945.h | |
parent | 2ff75b7877c40b1917f23cc5fafccaf3c1ab4745 (diff) |
iwlwifi : Patch adds rfkill subsystem for 3945
The patch removes the sysfs interface from iwl3945 and uses
the rfkill subsystem instead.
Original patch by Adel, I fixed the patch to work it properly.
Signed-off-by: Adel Gadllah <adel.gadllah@gmail.com>
Signed-off-by: Abhijeet Kolekar <abhijeet.kolekar@intel.com>
Signed-off-by: Zhu Yi <yi.zhu@intel.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 | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-3945.h b/drivers/net/wireless/iwlwifi/iwl-3945.h index a9b3edad3868..a77497809d97 100644 --- a/drivers/net/wireless/iwlwifi/iwl-3945.h +++ b/drivers/net/wireless/iwlwifi/iwl-3945.h | |||
@@ -36,6 +36,10 @@ | |||
36 | #include <linux/kernel.h> | 36 | #include <linux/kernel.h> |
37 | #include <net/ieee80211_radiotap.h> | 37 | #include <net/ieee80211_radiotap.h> |
38 | 38 | ||
39 | /*used for rfkill*/ | ||
40 | #include <linux/rfkill.h> | ||
41 | #include <linux/input.h> | ||
42 | |||
39 | /* Hardware specific file defines the PCI IDs table for that hardware module */ | 43 | /* Hardware specific file defines the PCI IDs table for that hardware module */ |
40 | extern struct pci_device_id iwl3945_hw_card_ids[]; | 44 | extern struct pci_device_id iwl3945_hw_card_ids[]; |
41 | 45 | ||
@@ -686,6 +690,23 @@ enum { | |||
686 | 690 | ||
687 | #endif | 691 | #endif |
688 | 692 | ||
693 | #ifdef CONFIG_IWLWIFI_RFKILL | ||
694 | struct iwl3945_priv; | ||
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); | ||
702 | void iwl3945_rfkill_unregister(struct iwl3945_priv *priv); | ||
703 | int iwl3945_rfkill_init(struct iwl3945_priv *priv); | ||
704 | #else | ||
705 | static inline void iwl3945_rfkill_set_hw_state(struct iwl3945_priv *priv) {} | ||
706 | static inline void iwl3945_rfkill_unregister(struct iwl3945_priv *priv) {} | ||
707 | static inline int iwl3945_rfkill_init(struct iwl3945_priv *priv) { return 0; } | ||
708 | #endif | ||
709 | |||
689 | #define IWL_MAX_NUM_QUEUES IWL39_MAX_NUM_QUEUES | 710 | #define IWL_MAX_NUM_QUEUES IWL39_MAX_NUM_QUEUES |
690 | 711 | ||
691 | struct iwl3945_priv { | 712 | struct iwl3945_priv { |
@@ -779,6 +800,10 @@ struct iwl3945_priv { | |||
779 | struct iwl3945_init_alive_resp card_alive_init; | 800 | struct iwl3945_init_alive_resp card_alive_init; |
780 | struct iwl3945_alive_resp card_alive; | 801 | struct iwl3945_alive_resp card_alive; |
781 | 802 | ||
803 | #ifdef CONFIG_IWLWIFI_RFKILL | ||
804 | struct iwl3945_rfkill_mngr rfkill_mngr; | ||
805 | #endif | ||
806 | |||
782 | #ifdef CONFIG_IWL3945_LEDS | 807 | #ifdef CONFIG_IWL3945_LEDS |
783 | struct iwl3945_led led[IWL_LED_TRG_MAX]; | 808 | struct iwl3945_led led[IWL_LED_TRG_MAX]; |
784 | unsigned long last_blink_time; | 809 | unsigned long last_blink_time; |