dbdd64aa2371e5ca92168f61a7eb3ac66d817322
[librecmc/librecmc.git] / package / mac80211 / patches / 419-mac80211-remove-antenna-sel.patch
1 Subject: mac80211: kill hw.conf.antenna_sel_{rx,tx}
2
3 Never actually used.
4
5 Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
6 ---
7  drivers/net/wireless/b43/main.c            |   25 +++----------------------
8  drivers/net/wireless/b43legacy/main.c      |   18 ++----------------
9  drivers/net/wireless/p54/p54common.c       |    3 +--
10  drivers/net/wireless/rt2x00/rt2x00config.c |   20 ++++----------------
11  drivers/net/wireless/rt2x00/rt2x00dev.c    |    6 ++----
12  include/net/mac80211.h                     |    7 +------
13  net/mac80211/debugfs.c                     |    8 --------
14  net/mac80211/ieee80211_i.h                 |    2 --
15  net/mac80211/tx.c                          |    1 -
16  9 files changed, 13 insertions(+), 77 deletions(-)
17
18 --- everything.orig/net/mac80211/debugfs.c      2008-10-08 22:35:20.000000000 +0200
19 +++ everything/net/mac80211/debugfs.c   2008-10-08 22:35:26.000000000 +0200
20 @@ -47,10 +47,6 @@ static const struct file_operations name
21  
22  DEBUGFS_READONLY_FILE(frequency, 20, "%d",
23                       local->hw.conf.channel->center_freq);
24 -DEBUGFS_READONLY_FILE(antenna_sel_tx, 20, "%d",
25 -                     local->hw.conf.antenna_sel_tx);
26 -DEBUGFS_READONLY_FILE(antenna_sel_rx, 20, "%d",
27 -                     local->hw.conf.antenna_sel_rx);
28  DEBUGFS_READONLY_FILE(rts_threshold, 20, "%d",
29                       local->rts_threshold);
30  DEBUGFS_READONLY_FILE(fragmentation_threshold, 20, "%d",
31 @@ -202,8 +198,6 @@ void debugfs_hw_add(struct ieee80211_loc
32         local->debugfs.keys = debugfs_create_dir("keys", phyd);
33  
34         DEBUGFS_ADD(frequency);
35 -       DEBUGFS_ADD(antenna_sel_tx);
36 -       DEBUGFS_ADD(antenna_sel_rx);
37         DEBUGFS_ADD(rts_threshold);
38         DEBUGFS_ADD(fragmentation_threshold);
39         DEBUGFS_ADD(short_retry_limit);
40 @@ -258,8 +252,6 @@ void debugfs_hw_add(struct ieee80211_loc
41  void debugfs_hw_del(struct ieee80211_local *local)
42  {
43         DEBUGFS_DEL(frequency);
44 -       DEBUGFS_DEL(antenna_sel_tx);
45 -       DEBUGFS_DEL(antenna_sel_rx);
46         DEBUGFS_DEL(rts_threshold);
47         DEBUGFS_DEL(fragmentation_threshold);
48         DEBUGFS_DEL(short_retry_limit);
49 --- everything.orig/net/mac80211/ieee80211_i.h  2008-10-08 22:35:01.000000000 +0200
50 +++ everything/net/mac80211/ieee80211_i.h       2008-10-08 22:35:10.000000000 +0200
51 @@ -727,8 +727,6 @@ struct ieee80211_local {
52                 struct dentry *rcdir;
53                 struct dentry *rcname;
54                 struct dentry *frequency;
55 -               struct dentry *antenna_sel_tx;
56 -               struct dentry *antenna_sel_rx;
57                 struct dentry *rts_threshold;
58                 struct dentry *fragmentation_threshold;
59                 struct dentry *short_retry_limit;
60 --- everything.orig/include/net/mac80211.h      2008-10-08 22:35:30.000000000 +0200
61 +++ everything/include/net/mac80211.h   2008-10-08 22:39:56.000000000 +0200
62 @@ -324,7 +324,7 @@ struct ieee80211_tx_altrate {
63   * @flags: transmit info flags, defined above
64   * @band: TBD
65   * @tx_rate_idx: TBD
66 - * @antenna_sel_tx: TBD
67 + * @antenna_sel_tx: antenna to use, 0 for automatic diversity
68   * @control: union for control data
69   * @status: union for status data
70   * @driver_data: array of driver_data pointers
71 @@ -474,9 +474,6 @@ static inline int __deprecated __IEEE802
72   * @listen_interval: listen interval in units of beacon interval
73   * @flags: configuration flags defined above
74   * @power_level: requested transmit power (in dBm)
75 - * @antenna_sel_tx: transmit antenna selection, 0: default/diversity,
76 - *     1/2: antenna 0/1
77 - * @antenna_sel_rx: receive antenna selection, like @antenna_sel_tx
78   * @ht_cap: describes current self configuration of 802.11n HT capabilities
79   * @ht_bss_conf: describes current BSS configuration of 802.11n HT parameters
80   * @channel: the channel to tune to
81 @@ -488,8 +485,6 @@ struct ieee80211_conf {
82         u16 listen_interval;
83         u32 flags;
84         int power_level;
85 -       u8 antenna_sel_tx;
86 -       u8 antenna_sel_rx;
87  
88         struct ieee80211_channel *channel;
89  
90 --- everything.orig/net/mac80211/tx.c   2008-10-08 22:37:05.000000000 +0200
91 +++ everything/net/mac80211/tx.c        2008-10-08 22:37:22.000000000 +0200
92 @@ -1975,7 +1975,6 @@ struct sk_buff *ieee80211_beacon_get(str
93             sband->bitrates[rsel.rate_idx].flags & IEEE80211_RATE_SHORT_PREAMBLE)
94                 info->flags |= IEEE80211_TX_CTL_SHORT_PREAMBLE;
95  
96 -       info->antenna_sel_tx = local->hw.conf.antenna_sel_tx;
97         info->control.retry_limit = 1;
98  
99  out:
100 --- everything.orig/drivers/net/wireless/b43/main.c     2008-10-08 22:40:06.000000000 +0200
101 +++ everything/drivers/net/wireless/b43/main.c  2008-10-08 22:40:45.000000000 +0200
102 @@ -1339,25 +1339,6 @@ u8 b43_ieee80211_antenna_sanitize(struct
103         return antenna_nr;
104  }
105  
106 -static int b43_antenna_from_ieee80211(struct b43_wldev *dev, u8 antenna)
107 -{
108 -       antenna = b43_ieee80211_antenna_sanitize(dev, antenna);
109 -       switch (antenna) {
110 -       case 0:         /* default/diversity */
111 -               return B43_ANTENNA_DEFAULT;
112 -       case 1:         /* Antenna 0 */
113 -               return B43_ANTENNA0;
114 -       case 2:         /* Antenna 1 */
115 -               return B43_ANTENNA1;
116 -       case 3:         /* Antenna 2 */
117 -               return B43_ANTENNA2;
118 -       case 4:         /* Antenna 3 */
119 -               return B43_ANTENNA3;
120 -       default:
121 -               return B43_ANTENNA_DEFAULT;
122 -       }
123 -}
124 -
125  /* Convert a b43 antenna number value to the PHY TX control value. */
126  static u16 b43_antenna_to_phyctl(int antenna)
127  {
128 @@ -1399,7 +1380,7 @@ static void b43_write_beacon_template(st
129                                   len, ram_offset, shm_size_offset, rate);
130  
131         /* Write the PHY TX control parameters. */
132 -       antenna = b43_antenna_from_ieee80211(dev, info->antenna_sel_tx);
133 +       antenna = B43_ANTENNA_DEFAULT;
134         antenna = b43_antenna_to_phyctl(antenna);
135         ctl = b43_shm_read16(dev, B43_SHM_SHARED, B43_SHM_SH_BEACPHYCTL);
136         /* We can't send beacons with short preamble. Would get PHY errors. */
137 @@ -3399,9 +3380,9 @@ static int b43_op_config(struct ieee8021
138         }
139  
140         /* Antennas for RX and management frame TX. */
141 -       antenna = b43_antenna_from_ieee80211(dev, conf->antenna_sel_tx);
142 +       antenna = B43_ANTENNA_DEFAULT;
143         b43_mgmtframe_txantenna(dev, antenna);
144 -       antenna = b43_antenna_from_ieee80211(dev, conf->antenna_sel_rx);
145 +       antenna = B43_ANTENNA_DEFAULT;
146         if (phy->ops->set_rx_antenna)
147                 phy->ops->set_rx_antenna(dev, antenna);
148  
149 --- everything.orig/drivers/net/wireless/b43legacy/main.c       2008-10-08 22:41:36.000000000 +0200
150 +++ everything/drivers/net/wireless/b43legacy/main.c    2008-10-08 22:41:59.000000000 +0200
151 @@ -2556,20 +2556,6 @@ init_failure:
152         return err;
153  }
154  
155 -static int b43legacy_antenna_from_ieee80211(u8 antenna)
156 -{
157 -       switch (antenna) {
158 -       case 0: /* default/diversity */
159 -               return B43legacy_ANTENNA_DEFAULT;
160 -       case 1: /* Antenna 0 */
161 -               return B43legacy_ANTENNA0;
162 -       case 2: /* Antenna 1 */
163 -               return B43legacy_ANTENNA1;
164 -       default:
165 -               return B43legacy_ANTENNA_DEFAULT;
166 -       }
167 -}
168 -
169  static int b43legacy_op_dev_config(struct ieee80211_hw *hw,
170                                    struct ieee80211_conf *conf)
171  {
172 @@ -2583,8 +2569,8 @@ static int b43legacy_op_dev_config(struc
173         int err = 0;
174         u32 savedirqs;
175  
176 -       antenna_tx = b43legacy_antenna_from_ieee80211(conf->antenna_sel_tx);
177 -       antenna_rx = b43legacy_antenna_from_ieee80211(conf->antenna_sel_rx);
178 +       antenna_tx = B43legacy_ANTENNA_DEFAULT;
179 +       antenna_rx = B43legacy_ANTENNA_DEFAULT;
180  
181         mutex_lock(&wl->mutex);
182         dev = wl->current_dev;
183 --- everything.orig/drivers/net/wireless/p54/p54common.c        2008-10-08 22:43:54.000000000 +0200
184 +++ everything/drivers/net/wireless/p54/p54common.c     2008-10-08 22:44:12.000000000 +0200
185 @@ -1211,8 +1211,7 @@ static int p54_config(struct ieee80211_h
186         struct p54_common *priv = dev->priv;
187  
188         mutex_lock(&priv->conf_mutex);
189 -       priv->rx_antenna = (conf->antenna_sel_rx == 0) ?
190 -               2 : conf->antenna_sel_tx - 1;
191 +       priv->rx_antenna = 2; /* automatic */
192         priv->output_power = conf->power_level << 2;
193         ret = p54_set_freq(dev, cpu_to_le16(conf->channel->center_freq));
194         p54_set_vdcf(dev);
195 --- everything.orig/drivers/net/wireless/rt2x00/rt2x00config.c  2008-10-08 22:44:57.000000000 +0200
196 +++ everything/drivers/net/wireless/rt2x00/rt2x00config.c       2008-10-08 22:45:36.000000000 +0200
197 @@ -199,23 +199,15 @@ void rt2x00lib_config(struct rt2x00_dev 
198          * to work with untill the link tuner decides that an antenna
199          * switch should be performed.
200          */
201 -       if (!conf->antenna_sel_rx &&
202 -           default_ant->rx != ANTENNA_SW_DIVERSITY &&
203 +       if (default_ant->rx != ANTENNA_SW_DIVERSITY &&
204             default_ant->rx != active_ant->rx)
205                 flags |= CONFIG_UPDATE_ANTENNA;
206 -       else if (conf->antenna_sel_rx &&
207 -                conf->antenna_sel_rx != active_ant->rx)
208 -               flags |= CONFIG_UPDATE_ANTENNA;
209         else if (active_ant->rx == ANTENNA_SW_DIVERSITY)
210                 flags |= CONFIG_UPDATE_ANTENNA;
211  
212 -       if (!conf->antenna_sel_tx &&
213 -           default_ant->tx != ANTENNA_SW_DIVERSITY &&
214 +       if (default_ant->tx != ANTENNA_SW_DIVERSITY &&
215             default_ant->tx != active_ant->tx)
216                 flags |= CONFIG_UPDATE_ANTENNA;
217 -       else if (conf->antenna_sel_tx &&
218 -                conf->antenna_sel_tx != active_ant->tx)
219 -               flags |= CONFIG_UPDATE_ANTENNA;
220         else if (active_ant->tx == ANTENNA_SW_DIVERSITY)
221                 flags |= CONFIG_UPDATE_ANTENNA;
222  
223 @@ -252,18 +244,14 @@ config:
224         }
225  
226         if (flags & CONFIG_UPDATE_ANTENNA) {
227 -               if (conf->antenna_sel_rx)
228 -                       libconf.ant.rx = conf->antenna_sel_rx;
229 -               else if (default_ant->rx != ANTENNA_SW_DIVERSITY)
230 +               if (default_ant->rx != ANTENNA_SW_DIVERSITY)
231                         libconf.ant.rx = default_ant->rx;
232                 else if (active_ant->rx == ANTENNA_SW_DIVERSITY)
233                         libconf.ant.rx = ANTENNA_B;
234                 else
235                         libconf.ant.rx = active_ant->rx;
236  
237 -               if (conf->antenna_sel_tx)
238 -                       libconf.ant.tx = conf->antenna_sel_tx;
239 -               else if (default_ant->tx != ANTENNA_SW_DIVERSITY)
240 +               if (default_ant->tx != ANTENNA_SW_DIVERSITY)
241                         libconf.ant.tx = default_ant->tx;
242                 else if (active_ant->tx == ANTENNA_SW_DIVERSITY)
243                         libconf.ant.tx = ANTENNA_B;
244 --- everything.orig/drivers/net/wireless/rt2x00/rt2x00dev.c     2008-10-08 22:44:28.000000000 +0200
245 +++ everything/drivers/net/wireless/rt2x00/rt2x00dev.c  2008-10-08 22:44:43.000000000 +0200
246 @@ -249,11 +249,9 @@ static void rt2x00lib_evaluate_antenna(s
247         rt2x00dev->link.ant.flags &= ~ANTENNA_RX_DIVERSITY;
248         rt2x00dev->link.ant.flags &= ~ANTENNA_TX_DIVERSITY;
249  
250 -       if (rt2x00dev->hw->conf.antenna_sel_rx == 0 &&
251 -           rt2x00dev->default_ant.rx == ANTENNA_SW_DIVERSITY)
252 +       if (rt2x00dev->default_ant.rx == ANTENNA_SW_DIVERSITY)
253                 rt2x00dev->link.ant.flags |= ANTENNA_RX_DIVERSITY;
254 -       if (rt2x00dev->hw->conf.antenna_sel_tx == 0 &&
255 -           rt2x00dev->default_ant.tx == ANTENNA_SW_DIVERSITY)
256 +       if (rt2x00dev->default_ant.tx == ANTENNA_SW_DIVERSITY)
257                 rt2x00dev->link.ant.flags |= ANTENNA_TX_DIVERSITY;
258  
259         if (!(rt2x00dev->link.ant.flags & ANTENNA_RX_DIVERSITY) &&