cxgb4: convert tasklets to use new tasklet_setup() API
authorAllen Pais <apais@linux.microsoft.com>
Tue, 6 Oct 2020 05:53:32 +0000 (11:23 +0530)
committerJakub Kicinski <kuba@kernel.org>
Thu, 8 Oct 2020 23:48:21 +0000 (16:48 -0700)
In preparation for unconditionally passing the
struct tasklet_struct pointer to all tasklet
callbacks, switch to using the new tasklet_setup()
and from_tasklet() to pass the tasklet pointer explicitly.

Signed-off-by: Romain Perier <romain.perier@gmail.com>
Signed-off-by: Allen Pais <apais@linux.microsoft.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_mqprio.c
drivers/net/ethernet/chelsio/cxgb4/sge.c

index f55550d..3352dad 100644 (file)
@@ -2111,7 +2111,7 @@ void free_tx_desc(struct adapter *adap, struct sge_txq *q,
 void cxgb4_eosw_txq_free_desc(struct adapter *adap, struct sge_eosw_txq *txq,
                              u32 ndesc);
 int cxgb4_ethofld_send_flowc(struct net_device *dev, u32 eotid, u32 tc);
-void cxgb4_ethofld_restart(unsigned long data);
+void cxgb4_ethofld_restart(struct tasklet_struct *t);
 int cxgb4_ethofld_rx_handler(struct sge_rspq *q, const __be64 *rsp,
                             const struct pkt_gl *si);
 void free_txq(struct adapter *adap, struct sge_txq *q);
index ae7123a..6c259de 100644 (file)
@@ -114,8 +114,7 @@ static int cxgb4_init_eosw_txq(struct net_device *dev,
        eosw_txq->cred = adap->params.ofldq_wr_cred;
        eosw_txq->hwqid = hwqid;
        eosw_txq->netdev = dev;
-       tasklet_init(&eosw_txq->qresume_tsk, cxgb4_ethofld_restart,
-                    (unsigned long)eosw_txq);
+       tasklet_setup(&eosw_txq->qresume_tsk, cxgb4_ethofld_restart);
        return 0;
 }
 
index 54e22f1..a9e9c7a 100644 (file)
@@ -3887,9 +3887,10 @@ static int napi_rx_handler(struct napi_struct *napi, int budget)
        return work_done;
 }
 
-void cxgb4_ethofld_restart(unsigned long data)
+void cxgb4_ethofld_restart(struct tasklet_struct *t)
 {
-       struct sge_eosw_txq *eosw_txq = (struct sge_eosw_txq *)data;
+       struct sge_eosw_txq *eosw_txq = from_tasklet(eosw_txq, t,
+                                                    qresume_tsk);
        int pktcount;
 
        spin_lock(&eosw_txq->lock);