wl12xx: drop unneeded plat_dev
now that useless plat_dev is unnecessary, we can remove it. Signed-off-by: Felipe Balbi <balbi@ti.com> [forward ported and fixed sysfs file creation] Signed-off-by: Luciano Coelho <coelho@ti.com>
This commit is contained in:
committed by
Luciano Coelho
parent
4b32a2c9a6
commit
f79f890c9c
@@ -383,22 +383,6 @@ static void __wl1271_op_remove_interface(struct wl1271 *wl,
|
|||||||
static void wl1271_op_stop(struct ieee80211_hw *hw);
|
static void wl1271_op_stop(struct ieee80211_hw *hw);
|
||||||
static void wl1271_free_ap_keys(struct wl1271 *wl, struct wl12xx_vif *wlvif);
|
static void wl1271_free_ap_keys(struct wl1271 *wl, struct wl12xx_vif *wlvif);
|
||||||
|
|
||||||
|
|
||||||
static void wl1271_device_release(struct device *dev)
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
static struct platform_device wl1271_device = {
|
|
||||||
.name = "wl1271",
|
|
||||||
.id = -1,
|
|
||||||
|
|
||||||
/* device model insists to have a release function */
|
|
||||||
.dev = {
|
|
||||||
.release = wl1271_device_release,
|
|
||||||
},
|
|
||||||
};
|
|
||||||
|
|
||||||
static DEFINE_MUTEX(wl_list_mutex);
|
static DEFINE_MUTEX(wl_list_mutex);
|
||||||
static LIST_HEAD(wl_list);
|
static LIST_HEAD(wl_list);
|
||||||
|
|
||||||
@@ -4992,7 +4976,6 @@ static int wl1271_init_ieee80211(struct wl1271 *wl)
|
|||||||
static struct ieee80211_hw *wl1271_alloc_hw(void)
|
static struct ieee80211_hw *wl1271_alloc_hw(void)
|
||||||
{
|
{
|
||||||
struct ieee80211_hw *hw;
|
struct ieee80211_hw *hw;
|
||||||
struct platform_device *plat_dev = NULL;
|
|
||||||
struct wl1271 *wl;
|
struct wl1271 *wl;
|
||||||
int i, j, ret;
|
int i, j, ret;
|
||||||
unsigned int order;
|
unsigned int order;
|
||||||
@@ -5006,13 +4989,6 @@ static struct ieee80211_hw *wl1271_alloc_hw(void)
|
|||||||
goto err_hw_alloc;
|
goto err_hw_alloc;
|
||||||
}
|
}
|
||||||
|
|
||||||
plat_dev = kmemdup(&wl1271_device, sizeof(wl1271_device), GFP_KERNEL);
|
|
||||||
if (!plat_dev) {
|
|
||||||
wl1271_error("could not allocate platform_device");
|
|
||||||
ret = -ENOMEM;
|
|
||||||
goto err_plat_alloc;
|
|
||||||
}
|
|
||||||
|
|
||||||
wl = hw->priv;
|
wl = hw->priv;
|
||||||
memset(wl, 0, sizeof(*wl));
|
memset(wl, 0, sizeof(*wl));
|
||||||
|
|
||||||
@@ -5020,7 +4996,6 @@ static struct ieee80211_hw *wl1271_alloc_hw(void)
|
|||||||
INIT_LIST_HEAD(&wl->wlvif_list);
|
INIT_LIST_HEAD(&wl->wlvif_list);
|
||||||
|
|
||||||
wl->hw = hw;
|
wl->hw = hw;
|
||||||
wl->plat_dev = plat_dev;
|
|
||||||
|
|
||||||
for (i = 0; i < NUM_TX_QUEUES; i++)
|
for (i = 0; i < NUM_TX_QUEUES; i++)
|
||||||
for (j = 0; j < WL12XX_MAX_LINKS; j++)
|
for (j = 0; j < WL12XX_MAX_LINKS; j++)
|
||||||
@@ -5095,49 +5070,8 @@ static struct ieee80211_hw *wl1271_alloc_hw(void)
|
|||||||
goto err_dummy_packet;
|
goto err_dummy_packet;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Register platform device */
|
|
||||||
ret = platform_device_register(wl->plat_dev);
|
|
||||||
if (ret) {
|
|
||||||
wl1271_error("couldn't register platform device");
|
|
||||||
goto err_fwlog;
|
|
||||||
}
|
|
||||||
dev_set_drvdata(&wl->plat_dev->dev, wl);
|
|
||||||
|
|
||||||
/* Create sysfs file to control bt coex state */
|
|
||||||
ret = device_create_file(&wl->plat_dev->dev, &dev_attr_bt_coex_state);
|
|
||||||
if (ret < 0) {
|
|
||||||
wl1271_error("failed to create sysfs file bt_coex_state");
|
|
||||||
goto err_platform;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Create sysfs file to get HW PG version */
|
|
||||||
ret = device_create_file(&wl->plat_dev->dev, &dev_attr_hw_pg_ver);
|
|
||||||
if (ret < 0) {
|
|
||||||
wl1271_error("failed to create sysfs file hw_pg_ver");
|
|
||||||
goto err_bt_coex_state;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Create sysfs file for the FW log */
|
|
||||||
ret = device_create_bin_file(&wl->plat_dev->dev, &fwlog_attr);
|
|
||||||
if (ret < 0) {
|
|
||||||
wl1271_error("failed to create sysfs file fwlog");
|
|
||||||
goto err_hw_pg_ver;
|
|
||||||
}
|
|
||||||
|
|
||||||
return hw;
|
return hw;
|
||||||
|
|
||||||
err_hw_pg_ver:
|
|
||||||
device_remove_file(&wl->plat_dev->dev, &dev_attr_hw_pg_ver);
|
|
||||||
|
|
||||||
err_bt_coex_state:
|
|
||||||
device_remove_file(&wl->plat_dev->dev, &dev_attr_bt_coex_state);
|
|
||||||
|
|
||||||
err_platform:
|
|
||||||
platform_device_unregister(wl->plat_dev);
|
|
||||||
|
|
||||||
err_fwlog:
|
|
||||||
free_page((unsigned long)wl->fwlog);
|
|
||||||
|
|
||||||
err_dummy_packet:
|
err_dummy_packet:
|
||||||
dev_kfree_skb(wl->dummy_packet);
|
dev_kfree_skb(wl->dummy_packet);
|
||||||
|
|
||||||
@@ -5149,9 +5083,6 @@ err_wq:
|
|||||||
|
|
||||||
err_hw:
|
err_hw:
|
||||||
wl1271_debugfs_exit(wl);
|
wl1271_debugfs_exit(wl);
|
||||||
kfree(plat_dev);
|
|
||||||
|
|
||||||
err_plat_alloc:
|
|
||||||
ieee80211_free_hw(hw);
|
ieee80211_free_hw(hw);
|
||||||
|
|
||||||
err_hw_alloc:
|
err_hw_alloc:
|
||||||
@@ -5167,17 +5098,15 @@ static int wl1271_free_hw(struct wl1271 *wl)
|
|||||||
wake_up_interruptible_all(&wl->fwlog_waitq);
|
wake_up_interruptible_all(&wl->fwlog_waitq);
|
||||||
mutex_unlock(&wl->mutex);
|
mutex_unlock(&wl->mutex);
|
||||||
|
|
||||||
device_remove_bin_file(&wl->plat_dev->dev, &fwlog_attr);
|
device_remove_bin_file(wl->dev, &fwlog_attr);
|
||||||
|
|
||||||
device_remove_file(&wl->plat_dev->dev, &dev_attr_hw_pg_ver);
|
device_remove_file(wl->dev, &dev_attr_hw_pg_ver);
|
||||||
|
|
||||||
device_remove_file(&wl->plat_dev->dev, &dev_attr_bt_coex_state);
|
device_remove_file(wl->dev, &dev_attr_bt_coex_state);
|
||||||
platform_device_unregister(wl->plat_dev);
|
|
||||||
free_page((unsigned long)wl->fwlog);
|
free_page((unsigned long)wl->fwlog);
|
||||||
dev_kfree_skb(wl->dummy_packet);
|
dev_kfree_skb(wl->dummy_packet);
|
||||||
free_pages((unsigned long)wl->aggr_buf,
|
free_pages((unsigned long)wl->aggr_buf,
|
||||||
get_order(WL1271_AGGR_BUFFER_SIZE));
|
get_order(WL1271_AGGR_BUFFER_SIZE));
|
||||||
kfree(wl->plat_dev);
|
|
||||||
|
|
||||||
wl1271_debugfs_exit(wl);
|
wl1271_debugfs_exit(wl);
|
||||||
|
|
||||||
@@ -5281,8 +5210,35 @@ static int __devinit wl12xx_probe(struct platform_device *pdev)
|
|||||||
if (ret)
|
if (ret)
|
||||||
goto out_irq;
|
goto out_irq;
|
||||||
|
|
||||||
|
/* Create sysfs file to control bt coex state */
|
||||||
|
ret = device_create_file(wl->dev, &dev_attr_bt_coex_state);
|
||||||
|
if (ret < 0) {
|
||||||
|
wl1271_error("failed to create sysfs file bt_coex_state");
|
||||||
|
goto out_irq;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Create sysfs file to get HW PG version */
|
||||||
|
ret = device_create_file(wl->dev, &dev_attr_hw_pg_ver);
|
||||||
|
if (ret < 0) {
|
||||||
|
wl1271_error("failed to create sysfs file hw_pg_ver");
|
||||||
|
goto out_bt_coex_state;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Create sysfs file for the FW log */
|
||||||
|
ret = device_create_bin_file(wl->dev, &fwlog_attr);
|
||||||
|
if (ret < 0) {
|
||||||
|
wl1271_error("failed to create sysfs file fwlog");
|
||||||
|
goto out_hw_pg_ver;
|
||||||
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
|
out_hw_pg_ver:
|
||||||
|
device_remove_file(wl->dev, &dev_attr_hw_pg_ver);
|
||||||
|
|
||||||
|
out_bt_coex_state:
|
||||||
|
device_remove_file(wl->dev, &dev_attr_bt_coex_state);
|
||||||
|
|
||||||
out_irq:
|
out_irq:
|
||||||
free_irq(wl->irq, wl);
|
free_irq(wl->irq, wl);
|
||||||
|
|
||||||
|
@@ -355,7 +355,6 @@ struct wl1271_link {
|
|||||||
};
|
};
|
||||||
|
|
||||||
struct wl1271 {
|
struct wl1271 {
|
||||||
struct platform_device *plat_dev;
|
|
||||||
struct ieee80211_hw *hw;
|
struct ieee80211_hw *hw;
|
||||||
bool mac80211_registered;
|
bool mac80211_registered;
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user