net: atm: pppoatm: use new API for wakeup tasklet
authorEmil Renner Berthing <kernel@esmil.dk>
Wed, 27 Jan 2021 17:32:56 +0000 (18:32 +0100)
committerJakub Kicinski <kuba@kernel.org>
Sat, 30 Jan 2021 02:24:05 +0000 (18:24 -0800)
This converts the driver to use the new tasklet API introduced in
commit 12cc923f1ccc ("tasklet: Introduce new initialization API")

Signed-off-by: Emil Renner Berthing <kernel@esmil.dk>
Link: https://lore.kernel.org/r/20210127173256.13954-2-kernel@esmil.dk
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
net/atm/pppoatm.c

index 5f06af0..3e4f17d 100644 (file)
@@ -101,9 +101,11 @@ static inline struct pppoatm_vcc *chan_to_pvcc(const struct ppp_channel *chan)
  * doesn't want to be called in interrupt context, so we do it from
  * a tasklet
  */
-static void pppoatm_wakeup_sender(unsigned long arg)
+static void pppoatm_wakeup_sender(struct tasklet_struct *t)
 {
-       ppp_output_wakeup((struct ppp_channel *) arg);
+       struct pppoatm_vcc *pvcc = from_tasklet(pvcc, t, wakeup_tasklet);
+
+       ppp_output_wakeup(&pvcc->chan);
 }
 
 static void pppoatm_release_cb(struct atm_vcc *atmvcc)
@@ -411,8 +413,7 @@ static int pppoatm_assign_vcc(struct atm_vcc *atmvcc, void __user *arg)
        pvcc->chan.ops = &pppoatm_ops;
        pvcc->chan.mtu = atmvcc->qos.txtp.max_sdu - PPP_HDRLEN -
            (be.encaps == e_vc ? 0 : LLC_LEN);
-       tasklet_init(&pvcc->wakeup_tasklet, pppoatm_wakeup_sender,
-                    (unsigned long)&pvcc->chan);
+       tasklet_setup(&pvcc->wakeup_tasklet, pppoatm_wakeup_sender);
        err = ppp_register_channel(&pvcc->chan);
        if (err != 0) {
                kfree(pvcc);