[PATCH 1/7] Kill ctl_wq
Eugene Krasnikov
k.eugene.e at gmail.com
Mon Jun 10 04:33:12 EDT 2013
Good job Pontus. Maybe in future we can even get rid of this wcn->wq
workqueue and use internal mac80211 instead;)
Please send pull request.
2013/6/7 Pontus Fuchs <pontus.fuchs at gmail.com>:
> No point in having two workqueues.
>
> Signed-off-by: Pontus Fuchs <pontus.fuchs at gmail.com>
> ---
> dxe.c | 2 +-
> main.c | 14 ++------------
> wcn36xx.h | 1 -
> 3 files changed, 3 insertions(+), 14 deletions(-)
>
> diff --git a/dxe.c b/dxe.c
> index a705be1..565c4c8 100644
> --- a/dxe.c
> +++ b/dxe.c
> @@ -361,7 +361,7 @@ static irqreturn_t wcn36xx_irq_rx_ready(int irq, void *dev)
> {
> struct wcn36xx *wcn = (struct wcn36xx *)dev;
> disable_irq_nosync(wcn->rx_irq);
> - queue_work(wcn->ctl_wq, &wcn->rx_ready_work);
> + queue_work(wcn->wq, &wcn->rx_ready_work);
> return IRQ_HANDLED;
> }
> static int wcn36xx_dxe_request_irqs(struct wcn36xx *wcn)
> diff --git a/main.c b/main.c
> index c995ca0..a6ee4c1 100644
> --- a/main.c
> +++ b/main.c
> @@ -767,13 +767,6 @@ static int __init wcn36xx_init(void)
> goto out_err;
> }
>
> - wcn->ctl_wq = create_workqueue("wcn36xx_ctl_wq");
> - if (!wcn->ctl_wq) {
> - wcn36xx_error("failed to allocate ctl wq");
> - ret = -ENOMEM;
> - goto out_wq;
> - }
> -
> wcn36xx_init_ieee80211(wcn);
>
> /* Configuring supported rates */
> @@ -804,7 +797,7 @@ static int __init wcn36xx_init(void)
> if (wcnss_memory == NULL) {
> wcn36xx_error("failed to get wcnss wlan memory map");
> ret = -ENOMEM;
> - goto out_wq_ctl;
> + goto out_wq;
> }
>
> wcn->tx_irq = wcnss_wlan_get_dxe_tx_irq(wcn->dev);
> @@ -814,7 +807,7 @@ static int __init wcn36xx_init(void)
> if (NULL == wcn->mmio) {
> wcn36xx_error("failed to map io memory");
> ret = -ENOMEM;
> - goto out_wq_ctl;
> + goto out_wq;
> }
>
> private_hw = hw;
> @@ -840,8 +833,6 @@ out_free_nv:
> release_firmware(wcn->nv);
> out_unmap:
> iounmap(wcn->mmio);
> -out_wq_ctl:
> - destroy_workqueue(wcn->ctl_wq);
> out_wq:
> destroy_workqueue(wcn->wq);
> out_err:
> @@ -856,7 +847,6 @@ static void __exit wcn36xx_exit(void)
> struct wcn36xx *wcn = hw->priv;
>
> ieee80211_unregister_hw(hw);
> - destroy_workqueue(wcn->ctl_wq);
> destroy_workqueue(wcn->wq);
> iounmap(wcn->mmio);
> release_firmware(wcn->nv);
> diff --git a/wcn36xx.h b/wcn36xx.h
> index 28c86ea..0218923 100644
> --- a/wcn36xx.h
> +++ b/wcn36xx.h
> @@ -101,7 +101,6 @@ struct wcn36xx_dxe_ch;
> struct wcn36xx {
> struct ieee80211_hw *hw;
> struct workqueue_struct *wq;
> - struct workqueue_struct *ctl_wq;
> struct device *dev;
> const struct firmware *nv;
> struct mac_address addresses[2];
> --
> 1.7.10.4
>
>
> _______________________________________________
> wcn36xx mailing list
> wcn36xx at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/wcn36xx
--
Best regards,
Eugene
More information about the wcn36xx
mailing list