* [PATCH 0/9] drivers: net: update tasklet_init callers
@ 2021-01-30 23:47 Emil Renner Berthing
2021-01-30 23:47 ` [PATCH 1/9] arcnet: use new tasklet API Emil Renner Berthing
` (9 more replies)
0 siblings, 10 replies; 11+ messages in thread
From: Emil Renner Berthing @ 2021-01-30 23:47 UTC (permalink / raw)
To: netdev, linux-usb, linux-ppp
Cc: Emil Renner Berthing, Michael Grzeschik, David S. Miller,
Jakub Kicinski, Paul Mackerras, Woojung Huh, UNGLinuxDriver,
Petko Manolov, Luc Van Oostenryck, Jing Xiangfeng, Oliver Neukum,
linux-kernel
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
^ permalink raw reply [flat|nested] 11+ messages in thread
* [PATCH 1/9] arcnet: use new tasklet API
2021-01-30 23:47 [PATCH 0/9] drivers: net: update tasklet_init callers Emil Renner Berthing
@ 2021-01-30 23:47 ` Emil Renner Berthing
2021-01-30 23:47 ` [PATCH 2/9] caif_virtio: " Emil Renner Berthing
` (8 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: Emil Renner Berthing @ 2021-01-30 23:47 UTC (permalink / raw)
To: netdev, linux-usb, linux-ppp
Cc: Emil Renner Berthing, Michael Grzeschik, David S. Miller,
Jakub Kicinski, Paul Mackerras, Woojung Huh, UNGLinuxDriver,
Petko Manolov, Luc Van Oostenryck, Jing Xiangfeng, Oliver Neukum,
linux-kernel
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>
---
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
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH 2/9] caif_virtio: use new tasklet API
2021-01-30 23:47 [PATCH 0/9] drivers: net: update tasklet_init callers Emil Renner Berthing
2021-01-30 23:47 ` [PATCH 1/9] arcnet: use new tasklet API Emil Renner Berthing
@ 2021-01-30 23:47 ` Emil Renner Berthing
2021-01-30 23:47 ` [PATCH 3/9] ifb: " Emil Renner Berthing
` (7 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: Emil Renner Berthing @ 2021-01-30 23:47 UTC (permalink / raw)
To: netdev, linux-usb, linux-ppp
Cc: Emil Renner Berthing, Michael Grzeschik, David S. Miller,
Jakub Kicinski, Paul Mackerras, Woojung Huh, UNGLinuxDriver,
Petko Manolov, Luc Van Oostenryck, Jing Xiangfeng, Oliver Neukum,
linux-kernel
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>
---
drivers/net/caif/caif_virtio.c | 8 +++-----
1 file changed, 3 insertions(+), 5 deletions(-)
diff --git a/drivers/net/caif/caif_virtio.c b/drivers/net/caif/caif_virtio.c
index 47a6d62b7511..106f089eb2a8 100644
--- a/drivers/net/caif/caif_virtio.c
+++ b/drivers/net/caif/caif_virtio.c
@@ -598,9 +598,9 @@ static netdev_tx_t cfv_netdev_tx(struct sk_buff *skb, struct net_device *netdev)
return NETDEV_TX_OK;
}
-static void cfv_tx_release_tasklet(unsigned long drv)
+static void cfv_tx_release_tasklet(struct tasklet_struct *t)
{
- struct cfv_info *cfv = (struct cfv_info *)drv;
+ struct cfv_info *cfv = from_tasklet(cfv, t, tx_release_tasklet);
cfv_release_used_buf(cfv->vq_tx);
}
@@ -716,9 +716,7 @@ static int cfv_probe(struct virtio_device *vdev)
cfv->ctx.head = USHRT_MAX;
netif_napi_add(netdev, &cfv->napi, cfv_rx_poll, CFV_DEFAULT_QUOTA);
- tasklet_init(&cfv->tx_release_tasklet,
- cfv_tx_release_tasklet,
- (unsigned long)cfv);
+ tasklet_setup(&cfv->tx_release_tasklet, cfv_tx_release_tasklet);
/* Carrier is off until netdevice is opened */
netif_carrier_off(netdev);
--
2.30.0
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH 3/9] ifb: use new tasklet API
2021-01-30 23:47 [PATCH 0/9] drivers: net: update tasklet_init callers Emil Renner Berthing
2021-01-30 23:47 ` [PATCH 1/9] arcnet: use new tasklet API Emil Renner Berthing
2021-01-30 23:47 ` [PATCH 2/9] caif_virtio: " Emil Renner Berthing
@ 2021-01-30 23:47 ` Emil Renner Berthing
2021-01-30 23:47 ` [PATCH 4/9] ppp: " Emil Renner Berthing
` (6 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: Emil Renner Berthing @ 2021-01-30 23:47 UTC (permalink / raw)
To: netdev, linux-usb, linux-ppp
Cc: Emil Renner Berthing, Michael Grzeschik, David S. Miller,
Jakub Kicinski, Paul Mackerras, Woojung Huh, UNGLinuxDriver,
Petko Manolov, Luc Van Oostenryck, Jing Xiangfeng, Oliver Neukum,
linux-kernel
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>
---
drivers/net/ifb.c | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/drivers/net/ifb.c b/drivers/net/ifb.c
index fa63d4dee0ba..ab7022582154 100644
--- a/drivers/net/ifb.c
+++ b/drivers/net/ifb.c
@@ -59,9 +59,9 @@ static netdev_tx_t ifb_xmit(struct sk_buff *skb, struct net_device *dev);
static int ifb_open(struct net_device *dev);
static int ifb_close(struct net_device *dev);
-static void ifb_ri_tasklet(unsigned long _txp)
+static void ifb_ri_tasklet(struct tasklet_struct *t)
{
- struct ifb_q_private *txp = (struct ifb_q_private *)_txp;
+ struct ifb_q_private *txp = from_tasklet(txp, t, ifb_tasklet);
struct netdev_queue *txq;
struct sk_buff *skb;
@@ -170,8 +170,7 @@ static int ifb_dev_init(struct net_device *dev)
__skb_queue_head_init(&txp->tq);
u64_stats_init(&txp->rsync);
u64_stats_init(&txp->tsync);
- tasklet_init(&txp->ifb_tasklet, ifb_ri_tasklet,
- (unsigned long)txp);
+ tasklet_setup(&txp->ifb_tasklet, ifb_ri_tasklet);
netif_tx_start_queue(netdev_get_tx_queue(dev, i));
}
return 0;
--
2.30.0
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH 4/9] ppp: use new tasklet API
2021-01-30 23:47 [PATCH 0/9] drivers: net: update tasklet_init callers Emil Renner Berthing
` (2 preceding siblings ...)
2021-01-30 23:47 ` [PATCH 3/9] ifb: " Emil Renner Berthing
@ 2021-01-30 23:47 ` Emil Renner Berthing
2021-01-30 23:47 ` [PATCH 5/9] net: usb: hso: " Emil Renner Berthing
` (5 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: Emil Renner Berthing @ 2021-01-30 23:47 UTC (permalink / raw)
To: netdev, linux-usb, linux-ppp
Cc: Emil Renner Berthing, Michael Grzeschik, David S. Miller,
Jakub Kicinski, Paul Mackerras, Woojung Huh, UNGLinuxDriver,
Petko Manolov, Luc Van Oostenryck, Jing Xiangfeng, Oliver Neukum,
linux-kernel
This converts the async and synctty drivers to use the new tasklet API n
commit 12cc923f1ccc ("tasklet: Introduce new initialization API")
Signed-off-by: Emil Renner Berthing <kernel@esmil.dk>
---
drivers/net/ppp/ppp_async.c | 8 ++++----
drivers/net/ppp/ppp_synctty.c | 8 ++++----
2 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/drivers/net/ppp/ppp_async.c b/drivers/net/ppp/ppp_async.c
index 29a0917a81e6..2b66cf301b0e 100644
--- a/drivers/net/ppp/ppp_async.c
+++ b/drivers/net/ppp/ppp_async.c
@@ -101,7 +101,7 @@ static void ppp_async_input(struct asyncppp *ap, const unsigned char *buf,
char *flags, int count);
static int ppp_async_ioctl(struct ppp_channel *chan, unsigned int cmd,
unsigned long arg);
-static void ppp_async_process(unsigned long arg);
+static void ppp_async_process(struct tasklet_struct *t);
static void async_lcp_peek(struct asyncppp *ap, unsigned char *data,
int len, int inbound);
@@ -179,7 +179,7 @@ ppp_asynctty_open(struct tty_struct *tty)
ap->lcp_fcs = -1;
skb_queue_head_init(&ap->rqueue);
- tasklet_init(&ap->tsk, ppp_async_process, (unsigned long) ap);
+ tasklet_setup(&ap->tsk, ppp_async_process);
refcount_set(&ap->refcnt, 1);
init_completion(&ap->dead);
@@ -488,9 +488,9 @@ ppp_async_ioctl(struct ppp_channel *chan, unsigned int cmd, unsigned long arg)
* to the ppp_generic code, and to tell the ppp_generic code
* if we can accept more output now.
*/
-static void ppp_async_process(unsigned long arg)
+static void ppp_async_process(struct tasklet_struct *t)
{
- struct asyncppp *ap = (struct asyncppp *) arg;
+ struct asyncppp *ap = from_tasklet(ap, t, tsk);
struct sk_buff *skb;
/* process received packets */
diff --git a/drivers/net/ppp/ppp_synctty.c b/drivers/net/ppp/ppp_synctty.c
index 0f338752c38b..86ee5149f4f2 100644
--- a/drivers/net/ppp/ppp_synctty.c
+++ b/drivers/net/ppp/ppp_synctty.c
@@ -90,7 +90,7 @@ static struct sk_buff* ppp_sync_txmunge(struct syncppp *ap, struct sk_buff *);
static int ppp_sync_send(struct ppp_channel *chan, struct sk_buff *skb);
static int ppp_sync_ioctl(struct ppp_channel *chan, unsigned int cmd,
unsigned long arg);
-static void ppp_sync_process(unsigned long arg);
+static void ppp_sync_process(struct tasklet_struct *t);
static int ppp_sync_push(struct syncppp *ap);
static void ppp_sync_flush_output(struct syncppp *ap);
static void ppp_sync_input(struct syncppp *ap, const unsigned char *buf,
@@ -177,7 +177,7 @@ ppp_sync_open(struct tty_struct *tty)
ap->raccm = ~0U;
skb_queue_head_init(&ap->rqueue);
- tasklet_init(&ap->tsk, ppp_sync_process, (unsigned long) ap);
+ tasklet_setup(&ap->tsk, ppp_sync_process);
refcount_set(&ap->refcnt, 1);
init_completion(&ap->dead_cmp);
@@ -480,9 +480,9 @@ ppp_sync_ioctl(struct ppp_channel *chan, unsigned int cmd, unsigned long arg)
* to the ppp_generic code, and to tell the ppp_generic code
* if we can accept more output now.
*/
-static void ppp_sync_process(unsigned long arg)
+static void ppp_sync_process(struct tasklet_struct *t)
{
- struct syncppp *ap = (struct syncppp *) arg;
+ struct syncppp *ap = from_tasklet(ap, t, tsk);
struct sk_buff *skb;
/* process received packets */
--
2.30.0
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH 5/9] net: usb: hso: use new tasklet API
2021-01-30 23:47 [PATCH 0/9] drivers: net: update tasklet_init callers Emil Renner Berthing
` (3 preceding siblings ...)
2021-01-30 23:47 ` [PATCH 4/9] ppp: " Emil Renner Berthing
@ 2021-01-30 23:47 ` Emil Renner Berthing
2021-01-30 23:47 ` [PATCH 6/9] net: usb: lan78xx: " Emil Renner Berthing
` (4 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: Emil Renner Berthing @ 2021-01-30 23:47 UTC (permalink / raw)
To: netdev, linux-usb, linux-ppp
Cc: Emil Renner Berthing, Michael Grzeschik, David S. Miller,
Jakub Kicinski, Paul Mackerras, Woojung Huh, UNGLinuxDriver,
Petko Manolov, Luc Van Oostenryck, Jing Xiangfeng, Oliver Neukum,
linux-kernel
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>
---
drivers/net/usb/hso.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/drivers/net/usb/hso.c b/drivers/net/usb/hso.c
index ef6dd012b8c4..31d51346786a 100644
--- a/drivers/net/usb/hso.c
+++ b/drivers/net/usb/hso.c
@@ -1213,9 +1213,10 @@ static void hso_std_serial_read_bulk_callback(struct urb *urb)
* This needs to be a tasklet otherwise we will
* end up recursively calling this function.
*/
-static void hso_unthrottle_tasklet(unsigned long data)
+static void hso_unthrottle_tasklet(struct tasklet_struct *t)
{
- struct hso_serial *serial = (struct hso_serial *)data;
+ struct hso_serial *serial = from_tasklet(serial, t,
+ unthrottle_tasklet);
unsigned long flags;
spin_lock_irqsave(&serial->serial_lock, flags);
@@ -1264,9 +1265,8 @@ static int hso_serial_open(struct tty_struct *tty, struct file *filp)
serial->rx_state = RX_IDLE;
/* Force default termio settings */
_hso_serial_set_termios(tty, NULL);
- tasklet_init(&serial->unthrottle_tasklet,
- hso_unthrottle_tasklet,
- (unsigned long)serial);
+ tasklet_setup(&serial->unthrottle_tasklet,
+ hso_unthrottle_tasklet);
result = hso_start_serial_device(serial->parent, GFP_KERNEL);
if (result) {
hso_stop_serial_device(serial->parent);
--
2.30.0
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH 6/9] net: usb: lan78xx: use new tasklet API
2021-01-30 23:47 [PATCH 0/9] drivers: net: update tasklet_init callers Emil Renner Berthing
` (4 preceding siblings ...)
2021-01-30 23:47 ` [PATCH 5/9] net: usb: hso: " Emil Renner Berthing
@ 2021-01-30 23:47 ` Emil Renner Berthing
2021-01-30 23:47 ` [PATCH 7/9] net: usb: pegasus: " Emil Renner Berthing
` (3 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: Emil Renner Berthing @ 2021-01-30 23:47 UTC (permalink / raw)
To: netdev, linux-usb, linux-ppp
Cc: Emil Renner Berthing, Michael Grzeschik, David S. Miller,
Jakub Kicinski, Paul Mackerras, Woojung Huh, UNGLinuxDriver,
Petko Manolov, Luc Van Oostenryck, Jing Xiangfeng, Oliver Neukum,
linux-kernel
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>
---
drivers/net/usb/lan78xx.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/net/usb/lan78xx.c b/drivers/net/usb/lan78xx.c
index bf243edeb064..e81c5699c952 100644
--- a/drivers/net/usb/lan78xx.c
+++ b/drivers/net/usb/lan78xx.c
@@ -3375,9 +3375,9 @@ static void lan78xx_rx_bh(struct lan78xx_net *dev)
netif_wake_queue(dev->net);
}
-static void lan78xx_bh(unsigned long param)
+static void lan78xx_bh(struct tasklet_struct *t)
{
- struct lan78xx_net *dev = (struct lan78xx_net *)param;
+ struct lan78xx_net *dev = from_tasklet(dev, t, bh);
struct sk_buff *skb;
struct skb_data *entry;
@@ -3655,7 +3655,7 @@ static int lan78xx_probe(struct usb_interface *intf,
skb_queue_head_init(&dev->txq_pend);
mutex_init(&dev->phy_mutex);
- tasklet_init(&dev->bh, lan78xx_bh, (unsigned long)dev);
+ tasklet_setup(&dev->bh, lan78xx_bh);
INIT_DELAYED_WORK(&dev->wq, lan78xx_delayedwork);
init_usb_anchor(&dev->deferred);
--
2.30.0
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH 7/9] net: usb: pegasus: use new tasklet API
2021-01-30 23:47 [PATCH 0/9] drivers: net: update tasklet_init callers Emil Renner Berthing
` (5 preceding siblings ...)
2021-01-30 23:47 ` [PATCH 6/9] net: usb: lan78xx: " Emil Renner Berthing
@ 2021-01-30 23:47 ` Emil Renner Berthing
2021-01-30 23:47 ` [PATCH 8/9] net: usb: r8152: " Emil Renner Berthing
` (2 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: Emil Renner Berthing @ 2021-01-30 23:47 UTC (permalink / raw)
To: netdev, linux-usb, linux-ppp
Cc: Emil Renner Berthing, Michael Grzeschik, David S. Miller,
Jakub Kicinski, Paul Mackerras, Woojung Huh, UNGLinuxDriver,
Petko Manolov, Luc Van Oostenryck, Jing Xiangfeng, Oliver Neukum,
linux-kernel
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>
---
drivers/net/usb/pegasus.c | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/drivers/net/usb/pegasus.c b/drivers/net/usb/pegasus.c
index 32e1335c94ad..9a907182569c 100644
--- a/drivers/net/usb/pegasus.c
+++ b/drivers/net/usb/pegasus.c
@@ -553,12 +553,11 @@ static void read_bulk_callback(struct urb *urb)
tasklet_schedule(&pegasus->rx_tl);
}
-static void rx_fixup(unsigned long data)
+static void rx_fixup(struct tasklet_struct *t)
{
- pegasus_t *pegasus;
+ pegasus_t *pegasus = from_tasklet(pegasus, t, rx_tl);
int status;
- pegasus = (pegasus_t *) data;
if (pegasus->flags & PEGASUS_UNPLUG)
return;
@@ -1129,7 +1128,7 @@ static int pegasus_probe(struct usb_interface *intf,
goto out1;
}
- tasklet_init(&pegasus->rx_tl, rx_fixup, (unsigned long) pegasus);
+ tasklet_setup(&pegasus->rx_tl, rx_fixup);
INIT_DELAYED_WORK(&pegasus->carrier_check, check_carrier);
--
2.30.0
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH 8/9] net: usb: r8152: use new tasklet API
2021-01-30 23:47 [PATCH 0/9] drivers: net: update tasklet_init callers Emil Renner Berthing
` (6 preceding siblings ...)
2021-01-30 23:47 ` [PATCH 7/9] net: usb: pegasus: " Emil Renner Berthing
@ 2021-01-30 23:47 ` Emil Renner Berthing
2021-01-30 23:47 ` [PATCH 9/9] net: usb: rtl8150: " Emil Renner Berthing
2021-02-03 4:07 ` [PATCH 0/9] drivers: net: update tasklet_init callers Jakub Kicinski
9 siblings, 0 replies; 11+ messages in thread
From: Emil Renner Berthing @ 2021-01-30 23:47 UTC (permalink / raw)
To: netdev, linux-usb, linux-ppp
Cc: Emil Renner Berthing, Michael Grzeschik, David S. Miller,
Jakub Kicinski, Paul Mackerras, Woojung Huh, UNGLinuxDriver,
Petko Manolov, Luc Van Oostenryck, Jing Xiangfeng, Oliver Neukum,
linux-kernel
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>
---
drivers/net/usb/r8152.c | 8 +++-----
1 file changed, 3 insertions(+), 5 deletions(-)
diff --git a/drivers/net/usb/r8152.c b/drivers/net/usb/r8152.c
index 67cd6986634f..0d7d2938e21d 100644
--- a/drivers/net/usb/r8152.c
+++ b/drivers/net/usb/r8152.c
@@ -2393,11 +2393,9 @@ static void tx_bottom(struct r8152 *tp)
} while (res = 0);
}
-static void bottom_half(unsigned long data)
+static void bottom_half(struct tasklet_struct *t)
{
- struct r8152 *tp;
-
- tp = (struct r8152 *)data;
+ struct r8152 *tp = from_tasklet(tp, t, tx_tl);
if (test_bit(RTL8152_UNPLUG, &tp->flags))
return;
@@ -6714,7 +6712,7 @@ static int rtl8152_probe(struct usb_interface *intf,
mutex_init(&tp->control);
INIT_DELAYED_WORK(&tp->schedule, rtl_work_func_t);
INIT_DELAYED_WORK(&tp->hw_phy_work, rtl_hw_phy_work_func_t);
- tasklet_init(&tp->tx_tl, bottom_half, (unsigned long)tp);
+ tasklet_setup(&tp->tx_tl, bottom_half);
tasklet_disable(&tp->tx_tl);
netdev->netdev_ops = &rtl8152_netdev_ops;
--
2.30.0
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH 9/9] net: usb: rtl8150: use new tasklet API
2021-01-30 23:47 [PATCH 0/9] drivers: net: update tasklet_init callers Emil Renner Berthing
` (7 preceding siblings ...)
2021-01-30 23:47 ` [PATCH 8/9] net: usb: r8152: " Emil Renner Berthing
@ 2021-01-30 23:47 ` Emil Renner Berthing
2021-02-03 4:07 ` [PATCH 0/9] drivers: net: update tasklet_init callers Jakub Kicinski
9 siblings, 0 replies; 11+ messages in thread
From: Emil Renner Berthing @ 2021-01-30 23:47 UTC (permalink / raw)
To: netdev, linux-usb, linux-ppp
Cc: Emil Renner Berthing, Michael Grzeschik, David S. Miller,
Jakub Kicinski, Paul Mackerras, Woojung Huh, UNGLinuxDriver,
Petko Manolov, Luc Van Oostenryck, Jing Xiangfeng, Oliver Neukum,
linux-kernel
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>
---
drivers/net/usb/rtl8150.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/net/usb/rtl8150.c b/drivers/net/usb/rtl8150.c
index bf8a60533f3e..7656f2a3afd9 100644
--- a/drivers/net/usb/rtl8150.c
+++ b/drivers/net/usb/rtl8150.c
@@ -577,9 +577,9 @@ static void free_skb_pool(rtl8150_t *dev)
dev_kfree_skb(dev->rx_skb_pool[i]);
}
-static void rx_fixup(unsigned long data)
+static void rx_fixup(struct tasklet_struct *t)
{
- struct rtl8150 *dev = (struct rtl8150 *)data;
+ struct rtl8150 *dev = from_tasklet(dev, t, tl);
struct sk_buff *skb;
int status;
@@ -878,7 +878,7 @@ static int rtl8150_probe(struct usb_interface *intf,
return -ENOMEM;
}
- tasklet_init(&dev->tl, rx_fixup, (unsigned long)dev);
+ tasklet_setup(&dev->tl, rx_fixup);
spin_lock_init(&dev->rx_pool_lock);
dev->udev = udev;
--
2.30.0
^ permalink raw reply related [flat|nested] 11+ messages in thread
* Re: [PATCH 0/9] drivers: net: update tasklet_init callers
2021-01-30 23:47 [PATCH 0/9] drivers: net: update tasklet_init callers Emil Renner Berthing
` (8 preceding siblings ...)
2021-01-30 23:47 ` [PATCH 9/9] net: usb: rtl8150: " Emil Renner Berthing
@ 2021-02-03 4:07 ` Jakub Kicinski
9 siblings, 0 replies; 11+ messages in thread
From: Jakub Kicinski @ 2021-02-03 4:07 UTC (permalink / raw)
To: Emil Renner Berthing
Cc: netdev, linux-usb, linux-ppp, Michael Grzeschik, David S. Miller,
Paul Mackerras, Woojung Huh, UNGLinuxDriver, Petko Manolov,
Luc Van Oostenryck, Jing Xiangfeng, Oliver Neukum, linux-kernel
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!
^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2021-02-03 4:07 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-01-30 23:47 [PATCH 0/9] drivers: net: update tasklet_init callers Emil Renner Berthing
2021-01-30 23:47 ` [PATCH 1/9] arcnet: use new tasklet API Emil Renner Berthing
2021-01-30 23:47 ` [PATCH 2/9] caif_virtio: " Emil Renner Berthing
2021-01-30 23:47 ` [PATCH 3/9] ifb: " Emil Renner Berthing
2021-01-30 23:47 ` [PATCH 4/9] ppp: " Emil Renner Berthing
2021-01-30 23:47 ` [PATCH 5/9] net: usb: hso: " Emil Renner Berthing
2021-01-30 23:47 ` [PATCH 6/9] net: usb: lan78xx: " Emil Renner Berthing
2021-01-30 23:47 ` [PATCH 7/9] net: usb: pegasus: " Emil Renner Berthing
2021-01-30 23:47 ` [PATCH 8/9] net: usb: r8152: " Emil Renner Berthing
2021-01-30 23:47 ` [PATCH 9/9] net: usb: rtl8150: " Emil Renner Berthing
2021-02-03 4:07 ` [PATCH 0/9] drivers: net: update tasklet_init callers Jakub Kicinski
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).