OSDN Git Service

net: hinic: convert tasklets to use new tasklet_setup() API
authorAllen Pais <apais@linux.microsoft.com>
Mon, 14 Sep 2020 07:29:27 +0000 (12:59 +0530)
committerDavid S. Miller <davem@davemloft.net>
Mon, 14 Sep 2020 20:02:37 +0000 (13:02 -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: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/huawei/hinic/hinic_hw_eqs.c

index b30733f..0501856 100644 (file)
@@ -370,9 +370,9 @@ static void eq_irq_work(struct work_struct *work)
  * ceq_tasklet - the tasklet of the EQ that received the event
  * @ceq_data: the eq
  **/
-static void ceq_tasklet(unsigned long ceq_data)
+static void ceq_tasklet(struct tasklet_struct *t)
 {
-       struct hinic_eq *ceq = (struct hinic_eq *)ceq_data;
+       struct hinic_eq *ceq = from_tasklet(ceq, t, ceq_tasklet);
 
        eq_irq_handler(ceq);
 }
@@ -782,8 +782,7 @@ static int init_eq(struct hinic_eq *eq, struct hinic_hwif *hwif,
 
                INIT_WORK(&aeq_work->work, eq_irq_work);
        } else if (type == HINIC_CEQ) {
-               tasklet_init(&eq->ceq_tasklet, ceq_tasklet,
-                            (unsigned long)eq);
+               tasklet_setup(&eq->ceq_tasklet, ceq_tasklet);
        }
 
        /* set the attributes of the msix entry */