diff options
| author | David S. Miller <davem@davemloft.net> | 2011-05-05 17:09:28 -0400 |
|---|---|---|
| committer | David S. Miller <davem@davemloft.net> | 2011-05-05 17:09:28 -0400 |
| commit | 90864fbc7639d7a2300c67a18c9fb9fbcf7d51d2 (patch) | |
| tree | 6951c8d0e529dbfc7c4cec75d4cec63350e39b7c /drivers/net/wireless/libertas/main.c | |
| parent | 228e548e602061b08ee8e8966f567c12aa079682 (diff) | |
| parent | a70171dce9cd44cb06c7d299eba9fa87a8933045 (diff) | |
Merge branch 'for-davem' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6
Diffstat (limited to 'drivers/net/wireless/libertas/main.c')
| -rw-r--r-- | drivers/net/wireless/libertas/main.c | 99 |
1 files changed, 53 insertions, 46 deletions
diff --git a/drivers/net/wireless/libertas/main.c b/drivers/net/wireless/libertas/main.c index ca8149cd5bd9..ed57cf863b69 100644 --- a/drivers/net/wireless/libertas/main.c +++ b/drivers/net/wireless/libertas/main.c | |||
| @@ -1,8 +1,8 @@ | |||
| 1 | /** | 1 | /* |
| 2 | * This file contains the major functions in WLAN | 2 | * This file contains the major functions in WLAN |
| 3 | * driver. It includes init, exit, open, close and main | 3 | * driver. It includes init, exit, open, close and main |
| 4 | * thread etc.. | 4 | * thread etc.. |
| 5 | */ | 5 | */ |
| 6 | 6 | ||
| 7 | #include <linux/moduleparam.h> | 7 | #include <linux/moduleparam.h> |
| 8 | #include <linux/delay.h> | 8 | #include <linux/delay.h> |
| @@ -35,18 +35,20 @@ EXPORT_SYMBOL_GPL(lbs_debug); | |||
| 35 | module_param_named(libertas_debug, lbs_debug, int, 0644); | 35 | module_param_named(libertas_debug, lbs_debug, int, 0644); |
| 36 | 36 | ||
| 37 | 37 | ||
| 38 | /* This global structure is used to send the confirm_sleep command as | 38 | /* |
| 39 | * fast as possible down to the firmware. */ | 39 | * This global structure is used to send the confirm_sleep command as |
| 40 | * fast as possible down to the firmware. | ||
| 41 | */ | ||
| 40 | struct cmd_confirm_sleep confirm_sleep; | 42 | struct cmd_confirm_sleep confirm_sleep; |
| 41 | 43 | ||
| 42 | 44 | ||
| 43 | /** | 45 | /* |
| 44 | * the table to keep region code | 46 | * the table to keep region code |
| 45 | */ | 47 | */ |
| 46 | u16 lbs_region_code_to_index[MRVDRV_MAX_REGION_CODE] = | 48 | u16 lbs_region_code_to_index[MRVDRV_MAX_REGION_CODE] = |
| 47 | { 0x10, 0x20, 0x30, 0x31, 0x32, 0x40 }; | 49 | { 0x10, 0x20, 0x30, 0x31, 0x32, 0x40 }; |
| 48 | 50 | ||
| 49 | /** | 51 | /* |
| 50 | * FW rate table. FW refers to rates by their index in this table, not by the | 52 | * FW rate table. FW refers to rates by their index in this table, not by the |
| 51 | * rate value itself. Values of 0x00 are | 53 | * rate value itself. Values of 0x00 are |
| 52 | * reserved positions. | 54 | * reserved positions. |
| @@ -57,10 +59,10 @@ static u8 fw_data_rates[MAX_RATES] = | |||
| 57 | }; | 59 | }; |
| 58 | 60 | ||
| 59 | /** | 61 | /** |
| 60 | * @brief use index to get the data rate | 62 | * lbs_fw_index_to_data_rate - use index to get the data rate |
| 61 | * | 63 | * |
| 62 | * @param idx The index of data rate | 64 | * @idx: The index of data rate |
| 63 | * @return data rate or 0 | 65 | * returns: data rate or 0 |
| 64 | */ | 66 | */ |
| 65 | u32 lbs_fw_index_to_data_rate(u8 idx) | 67 | u32 lbs_fw_index_to_data_rate(u8 idx) |
| 66 | { | 68 | { |
| @@ -70,10 +72,10 @@ u32 lbs_fw_index_to_data_rate(u8 idx) | |||
| 70 | } | 72 | } |
| 71 | 73 | ||
| 72 | /** | 74 | /** |
| 73 | * @brief use rate to get the index | 75 | * lbs_data_rate_to_fw_index - use rate to get the index |
| 74 | * | 76 | * |
| 75 | * @param rate data rate | 77 | * @rate: data rate |
| 76 | * @return index or 0 | 78 | * returns: index or 0 |
| 77 | */ | 79 | */ |
| 78 | u8 lbs_data_rate_to_fw_index(u32 rate) | 80 | u8 lbs_data_rate_to_fw_index(u32 rate) |
| 79 | { | 81 | { |
| @@ -91,10 +93,10 @@ u8 lbs_data_rate_to_fw_index(u32 rate) | |||
| 91 | 93 | ||
| 92 | 94 | ||
| 93 | /** | 95 | /** |
| 94 | * @brief This function opens the ethX interface | 96 | * lbs_dev_open - open the ethX interface |
| 95 | * | 97 | * |
| 96 | * @param dev A pointer to net_device structure | 98 | * @dev: A pointer to &net_device structure |
| 97 | * @return 0 or -EBUSY if monitor mode active | 99 | * returns: 0 or -EBUSY if monitor mode active |
| 98 | */ | 100 | */ |
| 99 | static int lbs_dev_open(struct net_device *dev) | 101 | static int lbs_dev_open(struct net_device *dev) |
| 100 | { | 102 | { |
| @@ -120,10 +122,10 @@ static int lbs_dev_open(struct net_device *dev) | |||
| 120 | } | 122 | } |
| 121 | 123 | ||
| 122 | /** | 124 | /** |
| 123 | * @brief This function closes the ethX interface | 125 | * lbs_eth_stop - close the ethX interface |
| 124 | * | 126 | * |
| 125 | * @param dev A pointer to net_device structure | 127 | * @dev: A pointer to &net_device structure |
| 126 | * @return 0 | 128 | * returns: 0 |
| 127 | */ | 129 | */ |
| 128 | static int lbs_eth_stop(struct net_device *dev) | 130 | static int lbs_eth_stop(struct net_device *dev) |
| 129 | { | 131 | { |
| @@ -336,12 +338,12 @@ void lbs_set_multicast_list(struct net_device *dev) | |||
| 336 | } | 338 | } |
| 337 | 339 | ||
| 338 | /** | 340 | /** |
| 339 | * @brief This function handles the major jobs in the LBS driver. | 341 | * lbs_thread - handles the major jobs in the LBS driver. |
| 340 | * It handles all events generated by firmware, RX data received | 342 | * It handles all events generated by firmware, RX data received |
| 341 | * from firmware and TX data sent from kernel. | 343 | * from firmware and TX data sent from kernel. |
| 342 | * | 344 | * |
| 343 | * @param data A pointer to lbs_thread structure | 345 | * @data: A pointer to &lbs_thread structure |
| 344 | * @return 0 | 346 | * returns: 0 |
| 345 | */ | 347 | */ |
| 346 | static int lbs_thread(void *data) | 348 | static int lbs_thread(void *data) |
| 347 | { | 349 | { |
| @@ -540,11 +542,11 @@ static int lbs_thread(void *data) | |||
| 540 | } | 542 | } |
| 541 | 543 | ||
| 542 | /** | 544 | /** |
| 543 | * @brief This function gets the HW spec from the firmware and sets | 545 | * lbs_setup_firmware - gets the HW spec from the firmware and sets |
| 544 | * some basic parameters. | 546 | * some basic parameters |
| 545 | * | 547 | * |
| 546 | * @param priv A pointer to struct lbs_private structure | 548 | * @priv: A pointer to &struct lbs_private structure |
| 547 | * @return 0 or -1 | 549 | * returns: 0 or -1 |
| 548 | */ | 550 | */ |
| 549 | static int lbs_setup_firmware(struct lbs_private *priv) | 551 | static int lbs_setup_firmware(struct lbs_private *priv) |
| 550 | { | 552 | { |
| @@ -630,8 +632,10 @@ int lbs_resume(struct lbs_private *priv) | |||
| 630 | EXPORT_SYMBOL_GPL(lbs_resume); | 632 | EXPORT_SYMBOL_GPL(lbs_resume); |
| 631 | 633 | ||
| 632 | /** | 634 | /** |
| 633 | * This function handles the timeout of command sending. | 635 | * lbs_cmd_timeout_handler - handles the timeout of command sending. |
| 634 | * It will re-send the same command again. | 636 | * It will re-send the same command again. |
| 637 | * | ||
| 638 | * @data: &struct lbs_private pointer | ||
| 635 | */ | 639 | */ |
| 636 | static void lbs_cmd_timeout_handler(unsigned long data) | 640 | static void lbs_cmd_timeout_handler(unsigned long data) |
| 637 | { | 641 | { |
| @@ -655,8 +659,10 @@ out: | |||
| 655 | } | 659 | } |
| 656 | 660 | ||
| 657 | /** | 661 | /** |
| 658 | * This function put the device back to deep sleep mode when timer expires | 662 | * auto_deepsleep_timer_fn - put the device back to deep sleep mode when |
| 659 | * and no activity (command, event, data etc.) is detected. | 663 | * timer expires and no activity (command, event, data etc.) is detected. |
| 664 | * @data: &struct lbs_private pointer | ||
| 665 | * returns: N/A | ||
| 660 | */ | 666 | */ |
| 661 | static void auto_deepsleep_timer_fn(unsigned long data) | 667 | static void auto_deepsleep_timer_fn(unsigned long data) |
| 662 | { | 668 | { |
| @@ -792,11 +798,12 @@ static const struct net_device_ops lbs_netdev_ops = { | |||
| 792 | }; | 798 | }; |
| 793 | 799 | ||
| 794 | /** | 800 | /** |
| 795 | * @brief This function adds the card. it will probe the | 801 | * lbs_add_card - adds the card. It will probe the |
| 796 | * card, allocate the lbs_priv and initialize the device. | 802 | * card, allocate the lbs_priv and initialize the device. |
| 797 | * | 803 | * |
| 798 | * @param card A pointer to card | 804 | * @card: A pointer to card |
| 799 | * @return A pointer to struct lbs_private structure | 805 | * @dmdev: A pointer to &struct device |
| 806 | * returns: A pointer to &struct lbs_private structure | ||
| 800 | */ | 807 | */ |
| 801 | struct lbs_private *lbs_add_card(void *card, struct device *dmdev) | 808 | struct lbs_private *lbs_add_card(void *card, struct device *dmdev) |
| 802 | { | 809 | { |
| @@ -1057,19 +1064,19 @@ void lbs_notify_command_response(struct lbs_private *priv, u8 resp_idx) | |||
| 1057 | EXPORT_SYMBOL_GPL(lbs_notify_command_response); | 1064 | EXPORT_SYMBOL_GPL(lbs_notify_command_response); |
| 1058 | 1065 | ||
| 1059 | /** | 1066 | /** |
| 1060 | * @brief Retrieves two-stage firmware | 1067 | * lbs_get_firmware - Retrieves two-stage firmware |
| 1061 | * | 1068 | * |
| 1062 | * @param dev A pointer to device structure | 1069 | * @dev: A pointer to &device structure |
| 1063 | * @param user_helper User-defined helper firmware file | 1070 | * @user_helper: User-defined helper firmware file |
| 1064 | * @param user_mainfw User-defined main firmware file | 1071 | * @user_mainfw: User-defined main firmware file |
| 1065 | * @param card_model Bus-specific card model ID used to filter firmware table | 1072 | * @card_model: Bus-specific card model ID used to filter firmware table |
| 1066 | * elements | 1073 | * elements |
| 1067 | * @param fw_table Table of firmware file names and device model numbers | 1074 | * @fw_table: Table of firmware file names and device model numbers |
| 1068 | * terminated by an entry with a NULL helper name | 1075 | * terminated by an entry with a NULL helper name |
| 1069 | * @param helper On success, the helper firmware; caller must free | 1076 | * @helper: On success, the helper firmware; caller must free |
| 1070 | * @param mainfw On success, the main firmware; caller must free | 1077 | * @mainfw: On success, the main firmware; caller must free |
| 1071 | * | 1078 | * |
| 1072 | * @return 0 on success, non-zero on failure | 1079 | * returns: 0 on success, non-zero on failure |
| 1073 | */ | 1080 | */ |
| 1074 | int lbs_get_firmware(struct device *dev, const char *user_helper, | 1081 | int lbs_get_firmware(struct device *dev, const char *user_helper, |
| 1075 | const char *user_mainfw, u32 card_model, | 1082 | const char *user_mainfw, u32 card_model, |
