diff options
author | Assaf Krauss <assaf.krauss@intel.com> | 2008-03-18 17:57:50 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2008-03-25 16:41:58 -0400 |
commit | 1ea8739648cfff4027c3db0f4cee5de87bfd3886 (patch) | |
tree | adc59885cb8b89596b1392a816da1d476f5ac4e2 /drivers/net/wireless/iwlwifi | |
parent | 83f7d57c37e83ab11009d58565e1010597b88db6 (diff) |
iwlwifi: Completing the parameter packaging
This patch completes the changes regarding the packaging of user
parameters.
Signed-off-by: Assaf Krauss <assaf.krauss@intel.com>
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/iwlwifi')
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-4965.c | 54 | ||||
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-4965.h | 9 | ||||
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl4965-base.c | 46 |
3 files changed, 55 insertions, 54 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-4965.c b/drivers/net/wireless/iwlwifi/iwl-4965.c index 46b3f47edefd..1db873b02f1e 100644 --- a/drivers/net/wireless/iwlwifi/iwl-4965.c +++ b/drivers/net/wireless/iwlwifi/iwl-4965.c | |||
@@ -43,6 +43,14 @@ | |||
43 | #include "iwl-4965.h" | 43 | #include "iwl-4965.h" |
44 | #include "iwl-helpers.h" | 44 | #include "iwl-helpers.h" |
45 | 45 | ||
46 | /* module parameters */ | ||
47 | static struct iwl_mod_params iwl4965_mod_params = { | ||
48 | .num_of_queues = IWL_MAX_NUM_QUEUES, | ||
49 | .enable_qos = 1, | ||
50 | .amsdu_size_8K = 1, | ||
51 | /* the rest are 0 by default */ | ||
52 | }; | ||
53 | |||
46 | static void iwl4965_hw_card_show_info(struct iwl_priv *priv); | 54 | static void iwl4965_hw_card_show_info(struct iwl_priv *priv); |
47 | 55 | ||
48 | #define IWL_DECLARE_RATE_INFO(r, s, ip, in, rp, rn, pp, np) \ | 56 | #define IWL_DECLARE_RATE_INFO(r, s, ip, in, rp, rn, pp, np) \ |
@@ -110,7 +118,7 @@ static int iwl4965_init_drv(struct iwl_priv *priv) | |||
110 | int ret; | 118 | int ret; |
111 | int i; | 119 | int i; |
112 | 120 | ||
113 | priv->antenna = (enum iwl4965_antenna)iwl4965_mod_params.antenna; | 121 | priv->antenna = (enum iwl4965_antenna)priv->cfg->mod_params->antenna; |
114 | priv->retry_rate = 1; | 122 | priv->retry_rate = 1; |
115 | priv->ibss_beacon = NULL; | 123 | priv->ibss_beacon = NULL; |
116 | 124 | ||
@@ -404,7 +412,7 @@ static int iwl4965_rx_init(struct iwl_priv *priv, struct iwl4965_rx_queue *rxq) | |||
404 | return rc; | 412 | return rc; |
405 | } | 413 | } |
406 | 414 | ||
407 | if (iwl4965_mod_params.amsdu_size_8K) | 415 | if (priv->cfg->mod_params->amsdu_size_8K) |
408 | rb_size = FH_RCSR_RX_CONFIG_REG_VAL_RB_SIZE_8K; | 416 | rb_size = FH_RCSR_RX_CONFIG_REG_VAL_RB_SIZE_8K; |
409 | else | 417 | else |
410 | rb_size = FH_RCSR_RX_CONFIG_REG_VAL_RB_SIZE_4K; | 418 | rb_size = FH_RCSR_RX_CONFIG_REG_VAL_RB_SIZE_4K; |
@@ -1877,8 +1885,8 @@ int iwl4965_hw_set_hw_setting(struct iwl_priv *priv) | |||
1877 | { | 1885 | { |
1878 | int ret = 0; | 1886 | int ret = 0; |
1879 | 1887 | ||
1880 | if ((iwl4965_mod_params.num_of_queues > IWL_MAX_NUM_QUEUES) || | 1888 | if ((priv->cfg->mod_params->num_of_queues > IWL_MAX_NUM_QUEUES) || |
1881 | (iwl4965_mod_params.num_of_queues < IWL_MIN_NUM_QUEUES)) { | 1889 | (priv->cfg->mod_params->num_of_queues < IWL_MIN_NUM_QUEUES)) { |
1882 | IWL_ERROR("invalid queues_num, should be between %d and %d\n", | 1890 | IWL_ERROR("invalid queues_num, should be between %d and %d\n", |
1883 | IWL_MIN_NUM_QUEUES, IWL_MAX_NUM_QUEUES); | 1891 | IWL_MIN_NUM_QUEUES, IWL_MAX_NUM_QUEUES); |
1884 | ret = -EINVAL; | 1892 | ret = -EINVAL; |
@@ -1898,11 +1906,11 @@ int iwl4965_hw_set_hw_setting(struct iwl_priv *priv) | |||
1898 | 1906 | ||
1899 | memset(priv->hw_setting.shared_virt, 0, sizeof(struct iwl4965_shared)); | 1907 | memset(priv->hw_setting.shared_virt, 0, sizeof(struct iwl4965_shared)); |
1900 | 1908 | ||
1901 | priv->hw_setting.max_txq_num = iwl4965_mod_params.num_of_queues; | 1909 | priv->hw_setting.max_txq_num = priv->cfg->mod_params->num_of_queues; |
1902 | priv->hw_setting.tx_cmd_len = sizeof(struct iwl4965_tx_cmd); | 1910 | priv->hw_setting.tx_cmd_len = sizeof(struct iwl4965_tx_cmd); |
1903 | priv->hw_setting.max_rxq_size = RX_QUEUE_SIZE; | 1911 | priv->hw_setting.max_rxq_size = RX_QUEUE_SIZE; |
1904 | priv->hw_setting.max_rxq_log = RX_QUEUE_SIZE_LOG; | 1912 | priv->hw_setting.max_rxq_log = RX_QUEUE_SIZE_LOG; |
1905 | if (iwl4965_mod_params.amsdu_size_8K) | 1913 | if (priv->cfg->mod_params->amsdu_size_8K) |
1906 | priv->hw_setting.rx_buf_size = IWL_RX_BUF_SIZE_8K; | 1914 | priv->hw_setting.rx_buf_size = IWL_RX_BUF_SIZE_8K; |
1907 | else | 1915 | else |
1908 | priv->hw_setting.rx_buf_size = IWL_RX_BUF_SIZE_4K; | 1916 | priv->hw_setting.rx_buf_size = IWL_RX_BUF_SIZE_4K; |
@@ -3521,7 +3529,7 @@ static void iwl4965_handle_data_packet(struct iwl_priv *priv, int is_data, | |||
3521 | stats->flag = 0; | 3529 | stats->flag = 0; |
3522 | hdr = (struct ieee80211_hdr *)rxb->skb->data; | 3530 | hdr = (struct ieee80211_hdr *)rxb->skb->data; |
3523 | 3531 | ||
3524 | if (iwl4965_mod_params.hw_crypto) | 3532 | if (priv->cfg->mod_params->hw_crypto) |
3525 | iwl4965_set_decrypted_flag(priv, rxb->skb, ampdu_status, stats); | 3533 | iwl4965_set_decrypted_flag(priv, rxb->skb, ampdu_status, stats); |
3526 | 3534 | ||
3527 | if (priv->add_radiotap) | 3535 | if (priv->add_radiotap) |
@@ -3644,7 +3652,8 @@ static int parse_elems(u8 *start, size_t len, struct ieee802_11_elems *elems) | |||
3644 | return 0; | 3652 | return 0; |
3645 | } | 3653 | } |
3646 | 3654 | ||
3647 | void iwl4965_init_ht_hw_capab(struct ieee80211_ht_info *ht_info, | 3655 | void iwl4965_init_ht_hw_capab(struct iwl_priv *priv, |
3656 | struct ieee80211_ht_info *ht_info, | ||
3648 | enum ieee80211_band band) | 3657 | enum ieee80211_band band) |
3649 | { | 3658 | { |
3650 | ht_info->cap = 0; | 3659 | ht_info->cap = 0; |
@@ -3661,10 +3670,9 @@ void iwl4965_init_ht_hw_capab(struct ieee80211_ht_info *ht_info, | |||
3661 | ht_info->cap |= (u16)IEEE80211_HT_CAP_SGI_20; | 3670 | ht_info->cap |= (u16)IEEE80211_HT_CAP_SGI_20; |
3662 | ht_info->cap |= (u16)(IEEE80211_HT_CAP_MIMO_PS & | 3671 | ht_info->cap |= (u16)(IEEE80211_HT_CAP_MIMO_PS & |
3663 | (IWL_MIMO_PS_NONE << 2)); | 3672 | (IWL_MIMO_PS_NONE << 2)); |
3664 | if (iwl4965_mod_params.amsdu_size_8K) { | 3673 | |
3665 | printk(KERN_DEBUG "iwl4965 in A-MSDU 8K support mode\n"); | 3674 | if (priv->cfg->mod_params->amsdu_size_8K) |
3666 | ht_info->cap |= (u16)IEEE80211_HT_CAP_MAX_AMSDU; | 3675 | ht_info->cap |= (u16)IEEE80211_HT_CAP_MAX_AMSDU; |
3667 | } | ||
3668 | 3676 | ||
3669 | ht_info->ampdu_factor = CFG_HT_RX_AMPDU_FACTOR_DEF; | 3677 | ht_info->ampdu_factor = CFG_HT_RX_AMPDU_FACTOR_DEF; |
3670 | ht_info->ampdu_density = CFG_HT_MPDU_DENSITY_DEF; | 3678 | ht_info->ampdu_density = CFG_HT_MPDU_DENSITY_DEF; |
@@ -4970,6 +4978,7 @@ static struct iwl_cfg iwl4965_agn_cfg = { | |||
4970 | .fw_name = "iwlwifi-4965" IWL4965_UCODE_API ".ucode", | 4978 | .fw_name = "iwlwifi-4965" IWL4965_UCODE_API ".ucode", |
4971 | .sku = IWL_SKU_A|IWL_SKU_G|IWL_SKU_N, | 4979 | .sku = IWL_SKU_A|IWL_SKU_G|IWL_SKU_N, |
4972 | .ops = &iwl4965_ops, | 4980 | .ops = &iwl4965_ops, |
4981 | .mod_params = &iwl4965_mod_params, | ||
4973 | }; | 4982 | }; |
4974 | 4983 | ||
4975 | struct pci_device_id iwl4965_hw_card_ids[] = { | 4984 | struct pci_device_id iwl4965_hw_card_ids[] = { |
@@ -4979,3 +4988,26 @@ struct pci_device_id iwl4965_hw_card_ids[] = { | |||
4979 | }; | 4988 | }; |
4980 | 4989 | ||
4981 | MODULE_DEVICE_TABLE(pci, iwl4965_hw_card_ids); | 4990 | MODULE_DEVICE_TABLE(pci, iwl4965_hw_card_ids); |
4991 | |||
4992 | module_param_named(antenna, iwl4965_mod_params.antenna, int, 0444); | ||
4993 | MODULE_PARM_DESC(antenna, "select antenna (1=Main, 2=Aux, default 0 [both])"); | ||
4994 | module_param_named(disable, iwl4965_mod_params.disable, int, 0444); | ||
4995 | MODULE_PARM_DESC(disable, "manually disable the radio (default 0 [radio on])"); | ||
4996 | module_param_named(hwcrypto, iwl4965_mod_params.hw_crypto, int, 0444); | ||
4997 | MODULE_PARM_DESC(hwcrypto, | ||
4998 | "using hardware crypto engine (default 0 [software])\n"); | ||
4999 | module_param_named(debug, iwl4965_mod_params.debug, int, 0444); | ||
5000 | MODULE_PARM_DESC(debug, "debug output mask"); | ||
5001 | module_param_named( | ||
5002 | disable_hw_scan, iwl4965_mod_params.disable_hw_scan, int, 0444); | ||
5003 | MODULE_PARM_DESC(disable_hw_scan, "disable hardware scanning (default 0)"); | ||
5004 | |||
5005 | module_param_named(queues_num, iwl4965_mod_params.num_of_queues, int, 0444); | ||
5006 | MODULE_PARM_DESC(queues_num, "number of hw queues."); | ||
5007 | |||
5008 | /* QoS */ | ||
5009 | module_param_named(qos_enable, iwl4965_mod_params.enable_qos, int, 0444); | ||
5010 | MODULE_PARM_DESC(qos_enable, "enable all QoS functionality"); | ||
5011 | module_param_named(amsdu_size_8K, iwl4965_mod_params.amsdu_size_8K, int, 0444); | ||
5012 | MODULE_PARM_DESC(amsdu_size_8K, "enable 8K amsdu size"); | ||
5013 | |||
diff --git a/drivers/net/wireless/iwlwifi/iwl-4965.h b/drivers/net/wireless/iwlwifi/iwl-4965.h index 810b8e28dc83..960b53b20df8 100644 --- a/drivers/net/wireless/iwlwifi/iwl-4965.h +++ b/drivers/net/wireless/iwlwifi/iwl-4965.h | |||
@@ -66,9 +66,6 @@ extern struct pci_device_id iwl4965_hw_card_ids[]; | |||
66 | * averages within an s8's (used in some apps) range of negative values. */ | 66 | * averages within an s8's (used in some apps) range of negative values. */ |
67 | #define IWL_NOISE_MEAS_NOT_AVAILABLE (-127) | 67 | #define IWL_NOISE_MEAS_NOT_AVAILABLE (-127) |
68 | 68 | ||
69 | /* Module parameters accessible from iwl-*.c */ | ||
70 | extern struct iwl_mod_params iwl4965_mod_params; | ||
71 | |||
72 | enum iwl4965_antenna { | 69 | enum iwl4965_antenna { |
73 | IWL_ANTENNA_DIVERSITY, | 70 | IWL_ANTENNA_DIVERSITY, |
74 | IWL_ANTENNA_MAIN, | 71 | IWL_ANTENNA_MAIN, |
@@ -761,7 +758,8 @@ extern void iwl4965_hwrate_to_tx_control(struct iwl_priv *priv, | |||
761 | struct ieee80211_tx_control *control); | 758 | struct ieee80211_tx_control *control); |
762 | 759 | ||
763 | #ifdef CONFIG_IWL4965_HT | 760 | #ifdef CONFIG_IWL4965_HT |
764 | void iwl4965_init_ht_hw_capab(struct ieee80211_ht_info *ht_info, | 761 | void iwl4965_init_ht_hw_capab(struct iwl_priv *priv, |
762 | struct ieee80211_ht_info *ht_info, | ||
765 | enum ieee80211_band band); | 763 | enum ieee80211_band band); |
766 | void iwl4965_set_rxon_ht(struct iwl_priv *priv, | 764 | void iwl4965_set_rxon_ht(struct iwl_priv *priv, |
767 | struct iwl_ht_info *ht_info); | 765 | struct iwl_ht_info *ht_info); |
@@ -773,7 +771,8 @@ int iwl4965_mac_ampdu_action(struct ieee80211_hw *hw, | |||
773 | int iwl4965_check_empty_hw_queue(struct iwl_priv *priv, int sta_id, | 771 | int iwl4965_check_empty_hw_queue(struct iwl_priv *priv, int sta_id, |
774 | u8 tid, int txq_id); | 772 | u8 tid, int txq_id); |
775 | #else | 773 | #else |
776 | static inline void iwl4965_init_ht_hw_capab(struct ieee80211_ht_info *ht_info, | 774 | static inline void iwl4965_init_ht_hw_capab(struct iwl_priv *priv, |
775 | struct ieee80211_ht_info *ht_info, | ||
777 | enum ieee80211_band band) {} | 776 | enum ieee80211_band band) {} |
778 | 777 | ||
779 | #endif /*CONFIG_IWL4965_HT */ | 778 | #endif /*CONFIG_IWL4965_HT */ |
diff --git a/drivers/net/wireless/iwlwifi/iwl4965-base.c b/drivers/net/wireless/iwlwifi/iwl4965-base.c index 8fe09e893279..44cfd0274976 100644 --- a/drivers/net/wireless/iwlwifi/iwl4965-base.c +++ b/drivers/net/wireless/iwlwifi/iwl4965-base.c | |||
@@ -59,14 +59,6 @@ static int iwl4965_tx_queue_update_write_ptr(struct iwl_priv *priv, | |||
59 | * | 59 | * |
60 | ******************************************************************************/ | 60 | ******************************************************************************/ |
61 | 61 | ||
62 | /* module parameters */ | ||
63 | struct iwl_mod_params iwl4965_mod_params = { | ||
64 | .num_of_queues = IWL_MAX_NUM_QUEUES, | ||
65 | .enable_qos = 1, | ||
66 | .amsdu_size_8K = 1, | ||
67 | /* the rest are 0 by default */ | ||
68 | }; | ||
69 | |||
70 | /* | 62 | /* |
71 | * module name, copyright, version, etc. | 63 | * module name, copyright, version, etc. |
72 | * NOTE: DRV_NAME is defined in iwlwifi.h for use by iwl-debug.h and printk | 64 | * NOTE: DRV_NAME is defined in iwlwifi.h for use by iwl-debug.h and printk |
@@ -4933,7 +4925,7 @@ int iwl4965_init_geos(struct iwl_priv *priv) | |||
4933 | sband->bitrates = &rates[IWL_FIRST_OFDM_RATE]; | 4925 | sband->bitrates = &rates[IWL_FIRST_OFDM_RATE]; |
4934 | sband->n_bitrates = IWL_RATE_COUNT - IWL_FIRST_OFDM_RATE; | 4926 | sband->n_bitrates = IWL_RATE_COUNT - IWL_FIRST_OFDM_RATE; |
4935 | 4927 | ||
4936 | iwl4965_init_ht_hw_capab(&sband->ht_info, IEEE80211_BAND_5GHZ); | 4928 | iwl4965_init_ht_hw_capab(priv, &sband->ht_info, IEEE80211_BAND_5GHZ); |
4937 | 4929 | ||
4938 | sband = &priv->bands[IEEE80211_BAND_2GHZ]; | 4930 | sband = &priv->bands[IEEE80211_BAND_2GHZ]; |
4939 | sband->channels = channels; | 4931 | sband->channels = channels; |
@@ -4941,7 +4933,7 @@ int iwl4965_init_geos(struct iwl_priv *priv) | |||
4941 | sband->bitrates = rates; | 4933 | sband->bitrates = rates; |
4942 | sband->n_bitrates = IWL_RATE_COUNT; | 4934 | sband->n_bitrates = IWL_RATE_COUNT; |
4943 | 4935 | ||
4944 | iwl4965_init_ht_hw_capab(&sband->ht_info, IEEE80211_BAND_2GHZ); | 4936 | iwl4965_init_ht_hw_capab(priv, &sband->ht_info, IEEE80211_BAND_2GHZ); |
4945 | 4937 | ||
4946 | priv->ieee_channels = channels; | 4938 | priv->ieee_channels = channels; |
4947 | priv->ieee_rates = rates; | 4939 | priv->ieee_rates = rates; |
@@ -6614,7 +6606,7 @@ static int iwl4965_mac_config(struct ieee80211_hw *hw, struct ieee80211_conf *co | |||
6614 | goto out; | 6606 | goto out; |
6615 | } | 6607 | } |
6616 | 6608 | ||
6617 | if (unlikely(!iwl4965_mod_params.disable_hw_scan && | 6609 | if (unlikely(!priv->cfg->mod_params->disable_hw_scan && |
6618 | test_bit(STATUS_SCANNING, &priv->status))) { | 6610 | test_bit(STATUS_SCANNING, &priv->status))) { |
6619 | IWL_DEBUG_MAC80211("leave - scanning\n"); | 6611 | IWL_DEBUG_MAC80211("leave - scanning\n"); |
6620 | set_bit(STATUS_CONF_PENDING, &priv->status); | 6612 | set_bit(STATUS_CONF_PENDING, &priv->status); |
@@ -7050,7 +7042,7 @@ static int iwl4965_mac_set_key(struct ieee80211_hw *hw, enum set_key_cmd cmd, | |||
7050 | 7042 | ||
7051 | IWL_DEBUG_MAC80211("enter\n"); | 7043 | IWL_DEBUG_MAC80211("enter\n"); |
7052 | 7044 | ||
7053 | if (!iwl4965_mod_params.hw_crypto) { | 7045 | if (!priv->cfg->mod_params->hw_crypto) { |
7054 | IWL_DEBUG_MAC80211("leave - hwcrypto disabled\n"); | 7046 | IWL_DEBUG_MAC80211("leave - hwcrypto disabled\n"); |
7055 | return -EOPNOTSUPP; | 7047 | return -EOPNOTSUPP; |
7056 | } | 7048 | } |
@@ -8008,7 +8000,7 @@ static int iwl4965_pci_probe(struct pci_dev *pdev, const struct pci_device_id *e | |||
8008 | 8000 | ||
8009 | /* Disabling hardware scan means that mac80211 will perform scans | 8001 | /* Disabling hardware scan means that mac80211 will perform scans |
8010 | * "the hard way", rather than using device's scan. */ | 8002 | * "the hard way", rather than using device's scan. */ |
8011 | if (iwl4965_mod_params.disable_hw_scan) { | 8003 | if (cfg->mod_params->disable_hw_scan) { |
8012 | IWL_DEBUG_INFO("Disabling hw_scan\n"); | 8004 | IWL_DEBUG_INFO("Disabling hw_scan\n"); |
8013 | iwl4965_hw_ops.hw_scan = NULL; | 8005 | iwl4965_hw_ops.hw_scan = NULL; |
8014 | } | 8006 | } |
@@ -8028,7 +8020,7 @@ static int iwl4965_pci_probe(struct pci_dev *pdev, const struct pci_device_id *e | |||
8028 | priv->pci_dev = pdev; | 8020 | priv->pci_dev = pdev; |
8029 | 8021 | ||
8030 | #ifdef CONFIG_IWLWIFI_DEBUG | 8022 | #ifdef CONFIG_IWLWIFI_DEBUG |
8031 | iwl_debug_level = iwl4965_mod_params.debug; | 8023 | iwl_debug_level = priv->cfg->mod_params->debug; |
8032 | atomic_set(&priv->restrict_refcnt, 0); | 8024 | atomic_set(&priv->restrict_refcnt, 0); |
8033 | #endif | 8025 | #endif |
8034 | 8026 | ||
@@ -8126,12 +8118,12 @@ static int iwl4965_pci_probe(struct pci_dev *pdev, const struct pci_device_id *e | |||
8126 | **********************************/ | 8118 | **********************************/ |
8127 | 8119 | ||
8128 | /* Disable radio (SW RF KILL) via parameter when loading driver */ | 8120 | /* Disable radio (SW RF KILL) via parameter when loading driver */ |
8129 | if (iwl4965_mod_params.disable) { | 8121 | if (priv->cfg->mod_params->disable) { |
8130 | set_bit(STATUS_RF_KILL_SW, &priv->status); | 8122 | set_bit(STATUS_RF_KILL_SW, &priv->status); |
8131 | IWL_DEBUG_INFO("Radio disabled.\n"); | 8123 | IWL_DEBUG_INFO("Radio disabled.\n"); |
8132 | } | 8124 | } |
8133 | 8125 | ||
8134 | if (iwl4965_mod_params.enable_qos) | 8126 | if (priv->cfg->mod_params->enable_qos) |
8135 | priv->qos_data.qos_enable = 1; | 8127 | priv->qos_data.qos_enable = 1; |
8136 | 8128 | ||
8137 | /******************** | 8129 | /******************** |
@@ -8322,27 +8314,5 @@ static void __exit iwl4965_exit(void) | |||
8322 | pci_unregister_driver(&iwl4965_driver); | 8314 | pci_unregister_driver(&iwl4965_driver); |
8323 | } | 8315 | } |
8324 | 8316 | ||
8325 | module_param_named(antenna, iwl4965_mod_params.antenna, int, 0444); | ||
8326 | MODULE_PARM_DESC(antenna, "select antenna (1=Main, 2=Aux, default 0 [both])"); | ||
8327 | module_param_named(disable, iwl4965_mod_params.disable, int, 0444); | ||
8328 | MODULE_PARM_DESC(disable, "manually disable the radio (default 0 [radio on])"); | ||
8329 | module_param_named(hwcrypto, iwl4965_mod_params.hw_crypto, int, 0444); | ||
8330 | MODULE_PARM_DESC(hwcrypto, | ||
8331 | "using hardware crypto engine (default 0 [software])\n"); | ||
8332 | module_param_named(debug, iwl4965_mod_params.debug, int, 0444); | ||
8333 | MODULE_PARM_DESC(debug, "debug output mask"); | ||
8334 | module_param_named( | ||
8335 | disable_hw_scan, iwl4965_mod_params.disable_hw_scan, int, 0444); | ||
8336 | MODULE_PARM_DESC(disable_hw_scan, "disable hardware scanning (default 0)"); | ||
8337 | |||
8338 | module_param_named(queues_num, iwl4965_mod_params.num_of_queues, int, 0444); | ||
8339 | MODULE_PARM_DESC(queues_num, "number of hw queues."); | ||
8340 | |||
8341 | /* QoS */ | ||
8342 | module_param_named(qos_enable, iwl4965_mod_params.enable_qos, int, 0444); | ||
8343 | MODULE_PARM_DESC(qos_enable, "enable all QoS functionality"); | ||
8344 | module_param_named(amsdu_size_8K, iwl4965_mod_params.amsdu_size_8K, int, 0444); | ||
8345 | MODULE_PARM_DESC(amsdu_size_8K, "enable 8K amsdu size"); | ||
8346 | |||
8347 | module_exit(iwl4965_exit); | 8317 | module_exit(iwl4965_exit); |
8348 | module_init(iwl4965_init); | 8318 | module_init(iwl4965_init); |