Message ID | 20200817091617.28119-1-allen.cryptic@gmail.com (mailing list archive) |
---|---|
State | Mainlined |
Commit | db03b428278501e4da4339d7528d8408f050d0ac |
Headers | show |
Series | arch: um: convert tasklets to use new tasklet_setup() API | expand |
On Mon, Aug 17, 2020 at 11:17 AM Allen Pais <allen.cryptic@gmail.com> wrote: > > From: Allen Pais <allen.lkml@gmail.com> > > 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 <allen.lkml@gmail.com> > --- > arch/um/drivers/vector_kern.c | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) Anton, can you please review this patch?
On 17/08/2020 10:15, Allen Pais wrote: > From: Allen Pais <allen.lkml@gmail.com> > > 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 <allen.lkml@gmail.com> > --- > arch/um/drivers/vector_kern.c | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/arch/um/drivers/vector_kern.c b/arch/um/drivers/vector_kern.c > index 8735c468230a..06980870ae23 100644 > --- a/arch/um/drivers/vector_kern.c > +++ b/arch/um/drivers/vector_kern.c > @@ -1196,9 +1196,9 @@ static int vector_net_close(struct net_device *dev) > > /* TX tasklet */ > > -static void vector_tx_poll(unsigned long data) > +static void vector_tx_poll(struct tasklet_struct *t) > { > - struct vector_private *vp = (struct vector_private *)data; > + struct vector_private *vp = from_tasklet(vp, t, tx_poll); > > vp->estats.tx_kicks++; > vector_send(vp->tx_queue); > @@ -1629,7 +1629,7 @@ static void vector_eth_configure( > }); > > dev->features = dev->hw_features = (NETIF_F_SG | NETIF_F_FRAGLIST); > - tasklet_init(&vp->tx_poll, vector_tx_poll, (unsigned long)vp); > + tasklet_setup(&vp->tx_poll, vector_tx_poll); > INIT_WORK(&vp->reset_tx, vector_reset_tx); > > timer_setup(&vp->tl, vector_timer_expire, 0); > Acked-By: Anton Ivanov <anton.ivanov@cambridgegreys.com>
diff --git a/arch/um/drivers/vector_kern.c b/arch/um/drivers/vector_kern.c index 8735c468230a..06980870ae23 100644 --- a/arch/um/drivers/vector_kern.c +++ b/arch/um/drivers/vector_kern.c @@ -1196,9 +1196,9 @@ static int vector_net_close(struct net_device *dev) /* TX tasklet */ -static void vector_tx_poll(unsigned long data) +static void vector_tx_poll(struct tasklet_struct *t) { - struct vector_private *vp = (struct vector_private *)data; + struct vector_private *vp = from_tasklet(vp, t, tx_poll); vp->estats.tx_kicks++; vector_send(vp->tx_queue); @@ -1629,7 +1629,7 @@ static void vector_eth_configure( }); dev->features = dev->hw_features = (NETIF_F_SG | NETIF_F_FRAGLIST); - tasklet_init(&vp->tx_poll, vector_tx_poll, (unsigned long)vp); + tasklet_setup(&vp->tx_poll, vector_tx_poll); INIT_WORK(&vp->reset_tx, vector_reset_tx); timer_setup(&vp->tl, vector_timer_expire, 0);