This updates the remaining callers of tasklet_init() in drivers/net
to the new API introduced in
commit 12cc923f1ccc ("tasklet: Introduce new initialization API")
All changes are done by coccinelle using the following semantic patch.
Coccinelle needs a little help parsing drivers/net/arcnet/arcnet.c
@ match @
type T;
T *container;
identifier tasklet;
identifier callback;
@@
tasklet_init(&container->tasklet, callback, (unsigned long)container);
@ patch1 depends on match @
type match.T;
identifier match.tasklet;
identifier match.callback;
identifier data;
identifier container;
@@
-void callback(unsigned long data)
+void callback(struct tasklet_struct *t)
{
...
- T *container = (T *)data;
+ T *container = from_tasklet(container, t, tasklet);
...
}
@ patch2 depends on match @
type match.T;
identifier match.tasklet;
identifier match.callback;
identifier data;
identifier container;
@@
-void callback(unsigned long data)
+void callback(struct tasklet_struct *t)
{
...
- T *container;
+ T *container = from_tasklet(container, t, tasklet);
...
- container = (T *)data;
...
}
@ depends on (patch1 || patch2) @
match.T *container;
identifier match.tasklet;
identifier match.callback;
@@
- tasklet_init(&container->tasklet, callback, (unsigned long)container);
+ tasklet_setup(&container->tasklet, callback);
Emil Renner Berthing (9):
arcnet: use new tasklet API
caif_virtio: use new tasklet API
ifb: use new tasklet API
ppp: use new tasklet API
net: usb: hso: use new tasklet API
net: usb: lan78xx: use new tasklet API
net: usb: pegasus: use new tasklet API
net: usb: r8152: use new tasklet API
net: usb: rtl8150: use new tasklet API
drivers/net/arcnet/arcnet.c | 7 +++----
drivers/net/caif/caif_virtio.c | 8 +++-----
drivers/net/ifb.c | 7 +++----
drivers/net/ppp/ppp_async.c | 8 ++++----
drivers/net/ppp/ppp_synctty.c | 8 ++++----
drivers/net/usb/hso.c | 10 +++++-----
drivers/net/usb/lan78xx.c | 6 +++---
drivers/net/usb/pegasus.c | 7 +++----
drivers/net/usb/r8152.c | 8 +++-----
drivers/net/usb/rtl8150.c | 6 +++---
10 files changed, 34 insertions(+), 41 deletions(-)
--
2.30.0
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 <[email protected]>
---
drivers/net/arcnet/arcnet.c | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/drivers/net/arcnet/arcnet.c b/drivers/net/arcnet/arcnet.c
index e04efc0a5c97..69d8920e394b 100644
--- a/drivers/net/arcnet/arcnet.c
+++ b/drivers/net/arcnet/arcnet.c
@@ -393,9 +393,9 @@ static void arcnet_timer(struct timer_list *t)
}
}
-static void arcnet_reply_tasklet(unsigned long data)
+static void arcnet_reply_tasklet(struct tasklet_struct *t)
{
- struct arcnet_local *lp = (struct arcnet_local *)data;
+ struct arcnet_local *lp = from_tasklet(lp, t, reply_tasklet);
struct sk_buff *ackskb, *skb;
struct sock_exterr_skb *serr;
@@ -483,8 +483,7 @@ int arcnet_open(struct net_device *dev)
arc_cont(D_PROTO, "\n");
}
- tasklet_init(&lp->reply_tasklet, arcnet_reply_tasklet,
- (unsigned long)lp);
+ tasklet_setup(&lp->reply_tasklet, arcnet_reply_tasklet);
arc_printk(D_INIT, dev, "arcnet_open: resetting card.\n");
--
2.30.0
On Sun, 31 Jan 2021 00:47:21 +0100 Emil Renner Berthing wrote:
> This updates the remaining callers of tasklet_init() in drivers/net
> to the new API introduced in
> commit 12cc923f1ccc ("tasklet: Introduce new initialization API")
>
> All changes are done by coccinelle using the following semantic patch.
> Coccinelle needs a little help parsing drivers/net/arcnet/arcnet.c
Applied, thanks!