Commit 644aa4d6 authored by Rafał Miłecki's avatar Rafał Miłecki Committed by John W. Linville

b43: remove list of IEEE 802.11 devices

This is the first step to remove leftover code.
Signed-off-by: default avatarRafał Miłecki <zajec5@gmail.com>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent 8f15e287
...@@ -915,10 +915,6 @@ struct b43_wl { ...@@ -915,10 +915,6 @@ struct b43_wl {
char rng_name[30 + 1]; char rng_name[30 + 1];
#endif /* CONFIG_B43_HWRNG */ #endif /* CONFIG_B43_HWRNG */
/* List of all wireless devices on this chip */
struct list_head devlist;
u8 nr_devs;
bool radiotap_enabled; bool radiotap_enabled;
bool radio_enabled; bool radio_enabled;
......
...@@ -3735,23 +3735,21 @@ static int b43_switch_band(struct b43_wl *wl, struct ieee80211_channel *chan) ...@@ -3735,23 +3735,21 @@ static int b43_switch_band(struct b43_wl *wl, struct ieee80211_channel *chan)
{ {
struct b43_wldev *up_dev = NULL; struct b43_wldev *up_dev = NULL;
struct b43_wldev *down_dev; struct b43_wldev *down_dev;
struct b43_wldev *d;
int err; int err;
bool uninitialized_var(gmode); bool uninitialized_var(gmode);
int prev_status; int prev_status;
/* Find a device and PHY which supports the band. */ /* Find a device and PHY which supports the band. */
list_for_each_entry(d, &wl->devlist, list) {
switch (chan->band) { switch (chan->band) {
case IEEE80211_BAND_5GHZ: case IEEE80211_BAND_5GHZ:
if (d->phy.supports_5ghz) { if (wl->current_dev->phy.supports_5ghz) {
up_dev = d; up_dev = wl->current_dev;
gmode = false; gmode = false;
} }
break; break;
case IEEE80211_BAND_2GHZ: case IEEE80211_BAND_2GHZ:
if (d->phy.supports_2ghz) { if (wl->current_dev->phy.supports_2ghz) {
up_dev = d; up_dev = wl->current_dev;
gmode = true; gmode = true;
} }
break; break;
...@@ -3759,16 +3757,13 @@ static int b43_switch_band(struct b43_wl *wl, struct ieee80211_channel *chan) ...@@ -3759,16 +3757,13 @@ static int b43_switch_band(struct b43_wl *wl, struct ieee80211_channel *chan)
B43_WARN_ON(1); B43_WARN_ON(1);
return -EINVAL; return -EINVAL;
} }
if (up_dev)
break;
}
if (!up_dev) { if (!up_dev) {
b43err(wl, "Could not find a device for %s-GHz band operation\n", b43err(wl, "Could not find a device for %s-GHz band operation\n",
band_to_string(chan->band)); band_to_string(chan->band));
return -ENODEV; return -ENODEV;
} }
if ((up_dev == wl->current_dev) && if (!!wl->current_dev->phy.gmode == !!gmode) {
(!!wl->current_dev->phy.gmode == !!gmode)) {
/* This device is already running. */ /* This device is already running. */
return 0; return 0;
} }
...@@ -5270,7 +5265,6 @@ static void b43_one_core_detach(struct b43_bus_dev *dev) ...@@ -5270,7 +5265,6 @@ static void b43_one_core_detach(struct b43_bus_dev *dev)
b43_debugfs_remove_device(wldev); b43_debugfs_remove_device(wldev);
b43_wireless_core_detach(wldev); b43_wireless_core_detach(wldev);
list_del(&wldev->list); list_del(&wldev->list);
wl->nr_devs--;
b43_bus_set_wldev(dev, NULL); b43_bus_set_wldev(dev, NULL);
kfree(wldev); kfree(wldev);
} }
...@@ -5295,8 +5289,6 @@ static int b43_one_core_attach(struct b43_bus_dev *dev, struct b43_wl *wl) ...@@ -5295,8 +5289,6 @@ static int b43_one_core_attach(struct b43_bus_dev *dev, struct b43_wl *wl)
if (err) if (err)
goto err_kfree_wldev; goto err_kfree_wldev;
list_add(&wldev->list, &wl->devlist);
wl->nr_devs++;
b43_bus_set_wldev(dev, wldev); b43_bus_set_wldev(dev, wldev);
b43_debugfs_add_device(wldev); b43_debugfs_add_device(wldev);
...@@ -5386,7 +5378,6 @@ static struct b43_wl *b43_wireless_init(struct b43_bus_dev *dev) ...@@ -5386,7 +5378,6 @@ static struct b43_wl *b43_wireless_init(struct b43_bus_dev *dev)
wl->hw = hw; wl->hw = hw;
mutex_init(&wl->mutex); mutex_init(&wl->mutex);
spin_lock_init(&wl->hardirq_lock); spin_lock_init(&wl->hardirq_lock);
INIT_LIST_HEAD(&wl->devlist);
INIT_WORK(&wl->beacon_update_trigger, b43_beacon_update_trigger_work); INIT_WORK(&wl->beacon_update_trigger, b43_beacon_update_trigger_work);
INIT_WORK(&wl->txpower_adjust_work, b43_phy_txpower_adjust_work); INIT_WORK(&wl->txpower_adjust_work, b43_phy_txpower_adjust_work);
INIT_WORK(&wl->tx_work, b43_tx_work); INIT_WORK(&wl->tx_work, b43_tx_work);
...@@ -5549,13 +5540,8 @@ static void b43_ssb_remove(struct ssb_device *sdev) ...@@ -5549,13 +5540,8 @@ static void b43_ssb_remove(struct ssb_device *sdev)
/* Unregister HW RNG driver */ /* Unregister HW RNG driver */
b43_rng_exit(wl); b43_rng_exit(wl);
if (list_empty(&wl->devlist)) {
b43_leds_unregister(wl); b43_leds_unregister(wl);
/* Last core on the chip unregistered.
* We can destroy common struct b43_wl.
*/
b43_wireless_exit(dev, wl); b43_wireless_exit(dev, wl);
}
} }
static struct ssb_driver b43_ssb_driver = { static struct ssb_driver b43_ssb_driver = {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment