mirror of https://gitee.com/openkylin/linux.git
b43: remove list of IEEE 802.11 devices
This is the first step to remove leftover code. Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
8f15e28703
commit
644aa4d620
|
@ -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,40 +3735,35 @@ 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 (wl->current_dev->phy.supports_5ghz) {
|
||||||
if (d->phy.supports_5ghz) {
|
up_dev = wl->current_dev;
|
||||||
up_dev = d;
|
gmode = false;
|
||||||
gmode = false;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case IEEE80211_BAND_2GHZ:
|
|
||||||
if (d->phy.supports_2ghz) {
|
|
||||||
up_dev = d;
|
|
||||||
gmode = true;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
B43_WARN_ON(1);
|
|
||||||
return -EINVAL;
|
|
||||||
}
|
}
|
||||||
if (up_dev)
|
break;
|
||||||
break;
|
case IEEE80211_BAND_2GHZ:
|
||||||
|
if (wl->current_dev->phy.supports_2ghz) {
|
||||||
|
up_dev = wl->current_dev;
|
||||||
|
gmode = true;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
B43_WARN_ON(1);
|
||||||
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
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)
|
||||||
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)
|
||||||
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)
|
||||||
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)
|
||||||
/* 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);
|
b43_wireless_exit(dev, wl);
|
||||||
/* Last core on the chip unregistered.
|
|
||||||
* We can destroy common struct b43_wl.
|
|
||||||
*/
|
|
||||||
b43_wireless_exit(dev, wl);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct ssb_driver b43_ssb_driver = {
|
static struct ssb_driver b43_ssb_driver = {
|
||||||
|
|
Loading…
Reference in New Issue