From: Andreas Happe Rename CONFIG_IPW_QOS to CONFIG_IPW2200_QOS. Add a small Kconfig config help text to this option. Signed-off-by: Andreas Happe Cc: Zhu Yi Cc: "John W. Linville" Signed-off-by: Andrew Morton --- drivers/net/wireless/Kconfig | 8 +++++ drivers/net/wireless/ipw2200.c | 42 +++++++++++++++---------------- 2 files changed, 28 insertions(+), 22 deletions(-) diff -puN drivers/net/wireless/ipw2200.c~ipw2200-config_ipw_qos-to-config_ipw2200_qos drivers/net/wireless/ipw2200.c --- devel/drivers/net/wireless/ipw2200.c~ipw2200-config_ipw_qos-to-config_ipw2200_qos 2006-04-05 21:28:02.000000000 -0700 +++ devel-akpm/drivers/net/wireless/ipw2200.c 2006-04-05 21:28:02.000000000 -0700 @@ -62,7 +62,7 @@ static const char ipw_modes[] = { 'a', 'b', 'g', '?' }; -#ifdef CONFIG_IPW_QOS +#ifdef CONFIG_IPW2200_QOS static int qos_enable = 0; static int qos_burst_enable = 0; static int qos_no_ack_mask = 0; @@ -126,7 +126,7 @@ static int ipw_send_qos_params_command(s *qos_param); static int ipw_send_qos_info_command(struct ipw_priv *priv, struct ieee80211_qos_information_element *qos_param); -#endif /* CONFIG_IPW_QOS */ +#endif /* CONFIG_IPW2200_QOS */ static struct iw_statistics *ipw_get_wireless_stats(struct net_device *dev); static void ipw_remove_current_network(struct ipw_priv *priv); @@ -4185,7 +4185,7 @@ static void ipw_rx_notification(struct i queue_work(priv->workqueue, &priv->system_config); -#ifdef CONFIG_IPW_QOS +#ifdef CONFIG_IPW2200_QOS #define IPW_GET_PACKET_STYPE(x) WLAN_FC_GET_STYPE( \ le16_to_cpu(((struct ieee80211_hdr *)(x))->frame_ctl)) if ((priv->status & STATUS_AUTH) && @@ -6506,7 +6506,7 @@ static int ipw_wx_set_mlme(struct net_de return 0; } -#ifdef CONFIG_IPW_QOS +#ifdef CONFIG_IPW2200_QOS /* QoS */ /* @@ -6977,7 +6977,7 @@ static int ipw_send_qos_info_command(str qos_param); } -#endif /* CONFIG_IPW_QOS */ +#endif /* CONFIG_IPW2200_QOS */ static int ipw_associate_network(struct ipw_priv *priv, struct ieee80211_network *network, @@ -7141,7 +7141,7 @@ static int ipw_associate_network(struct priv->assoc_network = network; -#ifdef CONFIG_IPW_QOS +#ifdef CONFIG_IPW2200_QOS ipw_qos_association(priv, network); #endif @@ -7982,10 +7982,10 @@ static int ipw_sw_reset(struct ipw_priv IPW_DEBUG_INFO("Bind to static channel %d\n", channel); /* TODO: Validate that provided channel is in range */ } -#ifdef CONFIG_IPW_QOS +#ifdef CONFIG_IPW2200_QOS ipw_qos_init(priv, qos_enable, qos_burst_enable, burst_duration_CCK, burst_duration_OFDM); -#endif /* CONFIG_IPW_QOS */ +#endif /* CONFIG_IPW2200_QOS */ switch (mode) { case 1: @@ -9651,7 +9651,7 @@ static int ipw_tx_skb(struct ipw_priv *p txb->fragments[0]->data; int i = 0; struct tfd_frame *tfd; -#ifdef CONFIG_IPW_QOS +#ifdef CONFIG_IPW2200_QOS int tx_id = ipw_get_tx_queue_number(priv, pri); struct clx2_tx_queue *txq = &priv->txq[tx_id]; #else @@ -9759,9 +9759,9 @@ static int ipw_tx_skb(struct ipw_priv *p /* No hardware encryption */ tfd->u.data.tx_flags |= DCT_FLAG_NO_WEP; -#ifdef CONFIG_IPW_QOS +#ifdef CONFIG_IPW2200_QOS ipw_qos_set_tx_queue_command(priv, pri, &(tfd->u.data), unicast); -#endif /* CONFIG_IPW_QOS */ +#endif /* CONFIG_IPW2200_QOS */ /* payload */ tfd->u.data.num_chunks = cpu_to_le32(min((u8) (NUM_TFD_CHUNKS - 2), @@ -9841,12 +9841,12 @@ static int ipw_tx_skb(struct ipw_priv *p static int ipw_net_is_queue_full(struct net_device *dev, int pri) { struct ipw_priv *priv = ieee80211_priv(dev); -#ifdef CONFIG_IPW_QOS +#ifdef CONFIG_IPW2200_QOS int tx_id = ipw_get_tx_queue_number(priv, pri); struct clx2_tx_queue *txq = &priv->txq[tx_id]; #else struct clx2_tx_queue *txq = &priv->txq[0]; -#endif /* CONFIG_IPW_QOS */ +#endif /* CONFIG_IPW2200_QOS */ if (ipw_queue_space(&txq->q) < txq->q.high_mark) return 1; @@ -10169,10 +10169,10 @@ static int ipw_setup_deferred_work(struc INIT_WORK(&priv->merge_networks, (void (*)(void *))ipw_merge_adhoc_network, priv); -#ifdef CONFIG_IPW_QOS +#ifdef CONFIG_IPW2200_QOS INIT_WORK(&priv->qos_activate, (void (*)(void *))ipw_bg_qos_activate, priv); -#endif /* CONFIG_IPW_QOS */ +#endif /* CONFIG_IPW2200_QOS */ tasklet_init(&priv->irq_tasklet, (void (*)(unsigned long)) ipw_irq_tasklet, (unsigned long)priv); @@ -10335,10 +10335,10 @@ static int ipw_config(struct ipw_priv *p if (ipw_send_rts_threshold(priv, priv->rts_threshold)) goto error; } -#ifdef CONFIG_IPW_QOS +#ifdef CONFIG_IPW2200_QOS IPW_DEBUG_QOS("QoS: call ipw_qos_activate\n"); ipw_qos_activate(priv, NULL); -#endif /* CONFIG_IPW_QOS */ +#endif /* CONFIG_IPW2200_QOS */ if (ipw_set_random_seed(priv)) goto error; @@ -10959,11 +10959,11 @@ static int ipw_pci_probe(struct pci_dev priv->ieee->set_security = shim__set_security; priv->ieee->is_queue_full = ipw_net_is_queue_full; -#ifdef CONFIG_IPW_QOS +#ifdef CONFIG_IPW2200_QOS priv->ieee->handle_probe_response = ipw_handle_beacon; priv->ieee->handle_beacon = ipw_handle_probe_response; priv->ieee->handle_assoc_response = ipw_handle_assoc_response; -#endif /* CONFIG_IPW_QOS */ +#endif /* CONFIG_IPW2200_QOS */ priv->ieee->perfect_rssi = -20; priv->ieee->worst_rssi = -85; @@ -11200,7 +11200,7 @@ MODULE_PARM_DESC(debug, "debug output ma module_param(channel, int, 0444); MODULE_PARM_DESC(channel, "channel to limit associate to (default 0 [ANY])"); -#ifdef CONFIG_IPW_QOS +#ifdef CONFIG_IPW2200_QOS module_param(qos_enable, int, 0444); MODULE_PARM_DESC(qos_enable, "enable all QoS functionalitis"); @@ -11215,7 +11215,7 @@ MODULE_PARM_DESC(burst_duration_CCK, "se module_param(burst_duration_OFDM, int, 0444); MODULE_PARM_DESC(burst_duration_OFDM, "set OFDM burst value"); -#endif /* CONFIG_IPW_QOS */ +#endif /* CONFIG_IPW2200_QOS */ #ifdef CONFIG_IPW2200_MONITOR module_param(mode, int, 0444); diff -puN drivers/net/wireless/Kconfig~ipw2200-config_ipw_qos-to-config_ipw2200_qos drivers/net/wireless/Kconfig --- devel/drivers/net/wireless/Kconfig~ipw2200-config_ipw_qos-to-config_ipw2200_qos 2006-04-05 21:28:02.000000000 -0700 +++ devel-akpm/drivers/net/wireless/Kconfig 2006-04-05 21:28:02.000000000 -0700 @@ -235,9 +235,15 @@ config IPW2200_MONITOR promiscuous mode via the Wireless Tool's Monitor mode. While in this mode, no packets can be sent. -config IPW_QOS +config IPW2200_QOS bool "Enable QoS support" depends on IPW2200 && EXPERIMENTAL + ---help--- + Enables QoS (Quality of Service) and WMM (Wireless MultiMedia) support + for the ipw2200 driver. + + Enable this option if you need data shaping for transmitted data (i.e. + you're using VoIP). config IPW2200_DEBUG bool "Enable full debugging output in IPW2200 module." _