linux-ppp.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [RESEND net-next v2 00/12]drivers: net: convert tasklets to use new tasklet_setup() API
@ 2020-09-14  7:43 Allen Pais
  2020-09-14  7:43 ` [RESEND net-next v2 01/12] net: mvpp2: Prepare to use the new tasklet API Allen Pais
                   ` (13 more replies)
  0 siblings, 14 replies; 21+ messages in thread
From: Allen Pais @ 2020-09-14  7:43 UTC (permalink / raw)
  To: davem
  Cc: m.grzeschik, kuba, paulus, oliver, woojung.huh, UNGLinuxDriver,
	petkan, netdev, linux-usb, linux-ppp, Allen Pais

From: Allen Pais <apais@linux.microsoft.com>

ommit 12cc923f1ccc ("tasklet: Introduce new initialization API")'
introduced a new tasklet initialization API. This series converts
all the net/* drivers to use the new tasklet_setup() API

This series is based on v5.9-rc5

Allen Pais (12):
  net: mvpp2: Prepare to use the new tasklet API
  net: arcnet: convert tasklets to use new tasklet_setup() API
  net: caif: convert tasklets to use new tasklet_setup() API
  net: ifb: convert tasklets to use new tasklet_setup() API
  net: ppp: convert tasklets to use new tasklet_setup() API
  net: cdc_ncm: convert tasklets to use new tasklet_setup() API
  net: hso: convert tasklets to use new tasklet_setup() API
  net: lan78xx: convert tasklets to use new tasklet_setup() API
  net: pegasus: convert tasklets to use new tasklet_setup() API
  net: r8152: convert tasklets to use new tasklet_setup() API
  net: rtl8150: convert tasklets to use new tasklet_setup() API
  net: usbnet: convert tasklets to use new tasklet_setup() API

 drivers/net/arcnet/arcnet.c                     |  7 +++----
 drivers/net/caif/caif_virtio.c                  |  8 +++-----
 drivers/net/ethernet/marvell/mvpp2/mvpp2.h      |  1 +
 drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c |  1 +
 drivers/net/ifb.c                               |  7 +++----
 drivers/net/ppp/ppp_async.c                     |  8 ++++----
 drivers/net/ppp/ppp_synctty.c                   |  8 ++++----
 drivers/net/usb/cdc_ncm.c                       |  8 ++++----
 drivers/net/usb/hso.c                           | 10 +++++-----
 drivers/net/usb/lan78xx.c                       |  6 +++---
 drivers/net/usb/pegasus.c                       |  6 +++---
 drivers/net/usb/r8152.c                         |  8 +++-----
 drivers/net/usb/rtl8150.c                       |  6 +++---
 drivers/net/usb/usbnet.c                        |  3 +--
 14 files changed, 41 insertions(+), 46 deletions(-)

-- 
2.25.1

^ permalink raw reply	[flat|nested] 21+ messages in thread

* [RESEND net-next v2 01/12] net: mvpp2: Prepare to use the new tasklet API
  2020-09-14  7:43 [RESEND net-next v2 00/12]drivers: net: convert tasklets to use new tasklet_setup() API Allen Pais
@ 2020-09-14  7:43 ` Allen Pais
  2020-09-15  1:02   ` Jakub Kicinski
  2020-09-14  7:43 ` [RESEND net-next v2 02/12] net: arcnet: convert tasklets to use new tasklet_setup() API Allen Pais
                   ` (12 subsequent siblings)
  13 siblings, 1 reply; 21+ messages in thread
From: Allen Pais @ 2020-09-14  7:43 UTC (permalink / raw)
  To: davem
  Cc: m.grzeschik, kuba, paulus, oliver, woojung.huh, UNGLinuxDriver,
	petkan, netdev, linux-usb, linux-ppp, Allen Pais, Romain Perier

From: Allen Pais <apais@linux.microsoft.com>

The future tasklet API will no longer allow to pass an arbitrary
"unsigned long" data parameter. The tasklet data structure will need to
be embedded into a data structure that will be retrieved from the tasklet
handler. Currently, there are no ways to retrieve the "struct mvpp2_port
*" from a given "struct mvpp2_port_pcpu *". This commit adds a new field
to get the address of the main port for each pcpu context.

Signed-off-by: Romain Perier <romain.perier@gmail.com>
Signed-off-by: Allen Pais <apais@linux.microsoft.com>
---
 drivers/net/ethernet/marvell/mvpp2/mvpp2.h      | 1 +
 drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c | 1 +
 2 files changed, 2 insertions(+)

diff --git a/drivers/net/ethernet/marvell/mvpp2/mvpp2.h b/drivers/net/ethernet/marvell/mvpp2/mvpp2.h
index 32753cc771bf..198860a4527d 100644
--- a/drivers/net/ethernet/marvell/mvpp2/mvpp2.h
+++ b/drivers/net/ethernet/marvell/mvpp2/mvpp2.h
@@ -861,6 +861,7 @@ struct mvpp2_port_pcpu {
 	struct hrtimer tx_done_timer;
 	struct net_device *dev;
 	bool timer_scheduled;
+	struct mvpp2_port *port;
 };
 
 struct mvpp2_queue_vector {
diff --git a/drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c b/drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
index 6e140d1b8967..e8e68e8acdb3 100644
--- a/drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
+++ b/drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
@@ -6025,6 +6025,7 @@ static int mvpp2_port_probe(struct platform_device *pdev,
 		err = -ENOMEM;
 		goto err_free_txq_pcpu;
 	}
+	port->pcpu->port = port;
 
 	if (!port->has_tx_irqs) {
 		for (thread = 0; thread < priv->nthreads; thread++) {
-- 
2.25.1

^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [RESEND net-next v2 02/12] net: arcnet: convert tasklets to use new tasklet_setup() API
  2020-09-14  7:43 [RESEND net-next v2 00/12]drivers: net: convert tasklets to use new tasklet_setup() API Allen Pais
  2020-09-14  7:43 ` [RESEND net-next v2 01/12] net: mvpp2: Prepare to use the new tasklet API Allen Pais
@ 2020-09-14  7:43 ` Allen Pais
  2020-09-14  7:43 ` [RESEND net-next v2 03/12] net: caif: " Allen Pais
                   ` (11 subsequent siblings)
  13 siblings, 0 replies; 21+ messages in thread
From: Allen Pais @ 2020-09-14  7:43 UTC (permalink / raw)
  To: davem
  Cc: m.grzeschik, kuba, paulus, oliver, woojung.huh, UNGLinuxDriver,
	petkan, netdev, linux-usb, linux-ppp, Allen Pais, Romain Perier

From: Allen Pais <apais@linux.microsoft.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 <apais@linux.microsoft.com>
---
 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.25.1

^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [RESEND net-next v2 03/12] net: caif: convert tasklets to use new tasklet_setup() API
  2020-09-14  7:43 [RESEND net-next v2 00/12]drivers: net: convert tasklets to use new tasklet_setup() API Allen Pais
  2020-09-14  7:43 ` [RESEND net-next v2 01/12] net: mvpp2: Prepare to use the new tasklet API Allen Pais
  2020-09-14  7:43 ` [RESEND net-next v2 02/12] net: arcnet: convert tasklets to use new tasklet_setup() API Allen Pais
@ 2020-09-14  7:43 ` Allen Pais
  2020-09-14  7:43 ` [RESEND net-next v2 04/12] net: ifb: " Allen Pais
                   ` (10 subsequent siblings)
  13 siblings, 0 replies; 21+ messages in thread
From: Allen Pais @ 2020-09-14  7:43 UTC (permalink / raw)
  To: davem
  Cc: m.grzeschik, kuba, paulus, oliver, woojung.huh, UNGLinuxDriver,
	petkan, netdev, linux-usb, linux-ppp, Allen Pais, Romain Perier

From: Allen Pais <apais@linux.microsoft.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 <apais@linux.microsoft.com>
---
 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 80ea2e913c2b..23c2eb8ceeec 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.25.1

^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [RESEND net-next v2 04/12] net: ifb: convert tasklets to use new tasklet_setup() API
  2020-09-14  7:43 [RESEND net-next v2 00/12]drivers: net: convert tasklets to use new tasklet_setup() API Allen Pais
                   ` (2 preceding siblings ...)
  2020-09-14  7:43 ` [RESEND net-next v2 03/12] net: caif: " Allen Pais
@ 2020-09-14  7:43 ` Allen Pais
  2020-09-14  7:43 ` [RESEND net-next v2 05/12] net: ppp: " Allen Pais
                   ` (9 subsequent siblings)
  13 siblings, 0 replies; 21+ messages in thread
From: Allen Pais @ 2020-09-14  7:43 UTC (permalink / raw)
  To: davem
  Cc: m.grzeschik, kuba, paulus, oliver, woojung.huh, UNGLinuxDriver,
	petkan, netdev, linux-usb, linux-ppp, Allen Pais, Romain Perier

From: Allen Pais <apais@linux.microsoft.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 <apais@linux.microsoft.com>
---
 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 7fe306e76281..a2d6027362d2 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.25.1

^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [RESEND net-next v2 05/12] net: ppp: convert tasklets to use new tasklet_setup() API
  2020-09-14  7:43 [RESEND net-next v2 00/12]drivers: net: convert tasklets to use new tasklet_setup() API Allen Pais
                   ` (3 preceding siblings ...)
  2020-09-14  7:43 ` [RESEND net-next v2 04/12] net: ifb: " Allen Pais
@ 2020-09-14  7:43 ` Allen Pais
  2020-09-14  7:43 ` [RESEND net-next v2 06/12] net: cdc_ncm: " Allen Pais
                   ` (8 subsequent siblings)
  13 siblings, 0 replies; 21+ messages in thread
From: Allen Pais @ 2020-09-14  7:43 UTC (permalink / raw)
  To: davem
  Cc: m.grzeschik, kuba, paulus, oliver, woojung.huh, UNGLinuxDriver,
	petkan, netdev, linux-usb, linux-ppp, Allen Pais, Romain Perier

From: Allen Pais <apais@linux.microsoft.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 <apais@linux.microsoft.com>
---
 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.25.1

^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [RESEND net-next v2 06/12] net: cdc_ncm: convert tasklets to use new tasklet_setup() API
  2020-09-14  7:43 [RESEND net-next v2 00/12]drivers: net: convert tasklets to use new tasklet_setup() API Allen Pais
                   ` (4 preceding siblings ...)
  2020-09-14  7:43 ` [RESEND net-next v2 05/12] net: ppp: " Allen Pais
@ 2020-09-14  7:43 ` Allen Pais
  2020-09-14  7:43 ` [RESEND net-next v2 07/12] net: hso: " Allen Pais
                   ` (7 subsequent siblings)
  13 siblings, 0 replies; 21+ messages in thread
From: Allen Pais @ 2020-09-14  7:43 UTC (permalink / raw)
  To: davem
  Cc: m.grzeschik, kuba, paulus, oliver, woojung.huh, UNGLinuxDriver,
	petkan, netdev, linux-usb, linux-ppp, Allen Pais, Romain Perier

From: Allen Pais <apais@linux.microsoft.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 <apais@linux.microsoft.com>
---
 drivers/net/usb/cdc_ncm.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/net/usb/cdc_ncm.c b/drivers/net/usb/cdc_ncm.c
index e04f588538cc..57a95ef90385 100644
--- a/drivers/net/usb/cdc_ncm.c
+++ b/drivers/net/usb/cdc_ncm.c
@@ -61,7 +61,7 @@ static bool prefer_mbim;
 module_param(prefer_mbim, bool, 0644);
 MODULE_PARM_DESC(prefer_mbim, "Prefer MBIM setting on dual NCM/MBIM functions");
 
-static void cdc_ncm_txpath_bh(unsigned long param);
+static void cdc_ncm_txpath_bh(struct tasklet_struct *t);
 static void cdc_ncm_tx_timeout_start(struct cdc_ncm_ctx *ctx);
 static enum hrtimer_restart cdc_ncm_tx_timer_cb(struct hrtimer *hr_timer);
 static struct usb_driver cdc_ncm_driver;
@@ -815,7 +815,7 @@ int cdc_ncm_bind_common(struct usbnet *dev, struct usb_interface *intf, u8 data_
 
 	hrtimer_init(&ctx->tx_timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL);
 	ctx->tx_timer.function = &cdc_ncm_tx_timer_cb;
-	tasklet_init(&ctx->bh, cdc_ncm_txpath_bh, (unsigned long)dev);
+	tasklet_setup(&ctx->bh, cdc_ncm_txpath_bh);
 	atomic_set(&ctx->stop, 0);
 	spin_lock_init(&ctx->mtx);
 
@@ -1468,9 +1468,9 @@ static enum hrtimer_restart cdc_ncm_tx_timer_cb(struct hrtimer *timer)
 	return HRTIMER_NORESTART;
 }
 
-static void cdc_ncm_txpath_bh(unsigned long param)
+static void cdc_ncm_txpath_bh(struct tasklet_struct *t)
 {
-	struct usbnet *dev = (struct usbnet *)param;
+	struct usbnet *dev = from_tasklet(dev, t, bh);
 	struct cdc_ncm_ctx *ctx = (struct cdc_ncm_ctx *)dev->data[0];
 
 	spin_lock_bh(&ctx->mtx);
-- 
2.25.1

^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [RESEND net-next v2 07/12] net: hso: convert tasklets to use new tasklet_setup() API
  2020-09-14  7:43 [RESEND net-next v2 00/12]drivers: net: convert tasklets to use new tasklet_setup() API Allen Pais
                   ` (5 preceding siblings ...)
  2020-09-14  7:43 ` [RESEND net-next v2 06/12] net: cdc_ncm: " Allen Pais
@ 2020-09-14  7:43 ` Allen Pais
  2020-09-14  7:43 ` [RESEND net-next v2 08/12] net: lan78xx: " Allen Pais
                   ` (6 subsequent siblings)
  13 siblings, 0 replies; 21+ messages in thread
From: Allen Pais @ 2020-09-14  7:43 UTC (permalink / raw)
  To: davem
  Cc: m.grzeschik, kuba, paulus, oliver, woojung.huh, UNGLinuxDriver,
	petkan, netdev, linux-usb, linux-ppp, Allen Pais, Romain Perier

From: Allen Pais <apais@linux.microsoft.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 <apais@linux.microsoft.com>
---
 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 2bb28db89432..3b08a6b5db05 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.25.1

^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [RESEND net-next v2 08/12] net: lan78xx: convert tasklets to use new tasklet_setup() API
  2020-09-14  7:43 [RESEND net-next v2 00/12]drivers: net: convert tasklets to use new tasklet_setup() API Allen Pais
                   ` (6 preceding siblings ...)
  2020-09-14  7:43 ` [RESEND net-next v2 07/12] net: hso: " Allen Pais
@ 2020-09-14  7:43 ` Allen Pais
  2020-09-14  7:43 ` [RESEND net-next v2 09/12] net: pegasus: " Allen Pais
                   ` (5 subsequent siblings)
  13 siblings, 0 replies; 21+ messages in thread
From: Allen Pais @ 2020-09-14  7:43 UTC (permalink / raw)
  To: davem
  Cc: m.grzeschik, kuba, paulus, oliver, woojung.huh, UNGLinuxDriver,
	petkan, netdev, linux-usb, linux-ppp, Allen Pais, Romain Perier

From: Allen Pais <apais@linux.microsoft.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 <apais@linux.microsoft.com>
---
 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 65b315bc60ab..3f6b3712086b 100644
--- a/drivers/net/usb/lan78xx.c
+++ b/drivers/net/usb/lan78xx.c
@@ -3386,9 +3386,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;
 
@@ -3666,7 +3666,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.25.1

^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [RESEND net-next v2 09/12] net: pegasus: convert tasklets to use new tasklet_setup() API
  2020-09-14  7:43 [RESEND net-next v2 00/12]drivers: net: convert tasklets to use new tasklet_setup() API Allen Pais
                   ` (7 preceding siblings ...)
  2020-09-14  7:43 ` [RESEND net-next v2 08/12] net: lan78xx: " Allen Pais
@ 2020-09-14  7:43 ` Allen Pais
  2020-09-14  7:43 ` [RESEND net-next v2 10/12] net: r8152: " Allen Pais
                   ` (4 subsequent siblings)
  13 siblings, 0 replies; 21+ messages in thread
From: Allen Pais @ 2020-09-14  7:43 UTC (permalink / raw)
  To: davem
  Cc: m.grzeschik, kuba, paulus, oliver, woojung.huh, UNGLinuxDriver,
	petkan, netdev, linux-usb, linux-ppp, Allen Pais, Romain Perier

From: Allen Pais <apais@linux.microsoft.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 <apais@linux.microsoft.com>
---
 drivers/net/usb/pegasus.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/net/usb/pegasus.c b/drivers/net/usb/pegasus.c
index e92cb51a2c77..1f11e586037f 100644
--- a/drivers/net/usb/pegasus.c
+++ b/drivers/net/usb/pegasus.c
@@ -565,12 +565,12 @@ 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;
 	int status;
 
-	pegasus = (pegasus_t *) data;
+	pegasus = from_tasklet(pegasus, t, rx_tl);
 	if (pegasus->flags & PEGASUS_UNPLUG)
 		return;
 
@@ -1141,7 +1141,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.25.1

^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [RESEND net-next v2 10/12] net: r8152: convert tasklets to use new tasklet_setup() API
  2020-09-14  7:43 [RESEND net-next v2 00/12]drivers: net: convert tasklets to use new tasklet_setup() API Allen Pais
                   ` (8 preceding siblings ...)
  2020-09-14  7:43 ` [RESEND net-next v2 09/12] net: pegasus: " Allen Pais
@ 2020-09-14  7:43 ` Allen Pais
  2020-09-14  7:43 ` [RESEND net-next v2 11/12] net: rtl8150: " Allen Pais
                   ` (3 subsequent siblings)
  13 siblings, 0 replies; 21+ messages in thread
From: Allen Pais @ 2020-09-14  7:43 UTC (permalink / raw)
  To: davem
  Cc: m.grzeschik, kuba, paulus, oliver, woojung.huh, UNGLinuxDriver,
	petkan, netdev, linux-usb, linux-ppp, Allen Pais, Romain Perier

From: Allen Pais <apais@linux.microsoft.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 <apais@linux.microsoft.com>
---
 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 b1770489aca5..2d706cdbf9a2 100644
--- a/drivers/net/usb/r8152.c
+++ b/drivers/net/usb/r8152.c
@@ -2410,11 +2410,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;
@@ -6730,7 +6728,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.25.1

^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [RESEND net-next v2 11/12] net: rtl8150: convert tasklets to use new tasklet_setup() API
  2020-09-14  7:43 [RESEND net-next v2 00/12]drivers: net: convert tasklets to use new tasklet_setup() API Allen Pais
                   ` (9 preceding siblings ...)
  2020-09-14  7:43 ` [RESEND net-next v2 10/12] net: r8152: " Allen Pais
@ 2020-09-14  7:43 ` Allen Pais
  2020-09-14  7:43 ` [RESEND net-next v2 12/12] net: usbnet: " Allen Pais
                   ` (2 subsequent siblings)
  13 siblings, 0 replies; 21+ messages in thread
From: Allen Pais @ 2020-09-14  7:43 UTC (permalink / raw)
  To: davem
  Cc: m.grzeschik, kuba, paulus, oliver, woojung.huh, UNGLinuxDriver,
	petkan, netdev, linux-usb, linux-ppp, Allen Pais, Romain Perier

From: Allen Pais <apais@linux.microsoft.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 <apais@linux.microsoft.com>
---
 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 733f120c852b..d8f3b44efc08 100644
--- a/drivers/net/usb/rtl8150.c
+++ b/drivers/net/usb/rtl8150.c
@@ -589,9 +589,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;
 
@@ -890,7 +890,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.25.1

^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [RESEND net-next v2 12/12] net: usbnet: convert tasklets to use new tasklet_setup() API
  2020-09-14  7:43 [RESEND net-next v2 00/12]drivers: net: convert tasklets to use new tasklet_setup() API Allen Pais
                   ` (10 preceding siblings ...)
  2020-09-14  7:43 ` [RESEND net-next v2 11/12] net: rtl8150: " Allen Pais
@ 2020-09-14  7:43 ` Allen Pais
  2020-09-14  8:02   ` Oliver Neukum
  2020-09-14 20:24 ` [RESEND net-next v2 00/12]drivers: net: " David Miller
  2020-09-14 21:16 ` Saeed Mahameed
  13 siblings, 1 reply; 21+ messages in thread
From: Allen Pais @ 2020-09-14  7:43 UTC (permalink / raw)
  To: davem
  Cc: m.grzeschik, kuba, paulus, oliver, woojung.huh, UNGLinuxDriver,
	petkan, netdev, linux-usb, linux-ppp, Allen Pais, Romain Perier

From: Allen Pais <apais@linux.microsoft.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
and remove the .data field.

Signed-off-by: Romain Perier <romain.perier@gmail.com>
Signed-off-by: Allen Pais <apais@linux.microsoft.com>
---
 drivers/net/usb/usbnet.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/net/usb/usbnet.c b/drivers/net/usb/usbnet.c
index 2b2a841cd938..d63485b858ba 100644
--- a/drivers/net/usb/usbnet.c
+++ b/drivers/net/usb/usbnet.c
@@ -1708,8 +1708,7 @@ usbnet_probe (struct usb_interface *udev, const struct usb_device_id *prod)
 	skb_queue_head_init (&dev->txq);
 	skb_queue_head_init (&dev->done);
 	skb_queue_head_init(&dev->rxq_pause);
-	dev->bh.func = usbnet_bh_tasklet;
-	dev->bh.data = (unsigned long)&dev->delay;
+	dev->bh.func = (void(*) (unsigned long))usbnet_bh_tasklet;
 	INIT_WORK (&dev->kevent, usbnet_deferred_kevent);
 	init_usb_anchor(&dev->deferred);
 	timer_setup(&dev->delay, usbnet_bh, 0);
-- 
2.25.1

^ permalink raw reply related	[flat|nested] 21+ messages in thread

* Re: [RESEND net-next v2 12/12] net: usbnet: convert tasklets to use new tasklet_setup() API
  2020-09-14  7:43 ` [RESEND net-next v2 12/12] net: usbnet: " Allen Pais
@ 2020-09-14  8:02   ` Oliver Neukum
  0 siblings, 0 replies; 21+ messages in thread
From: Oliver Neukum @ 2020-09-14  8:02 UTC (permalink / raw)
  To: Allen Pais, davem
  Cc: m.grzeschik, kuba, paulus, woojung.huh, UNGLinuxDriver, petkan,
	netdev, linux-usb, linux-ppp, Allen Pais, Romain Perier

Am Montag, den 14.09.2020, 13:01 +0530 schrieb Allen Pais:
> From: Allen Pais <apais@linux.microsoft.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
> and remove the .data field.

Hi,

how would bisecting be supposed to run smoothly, if this
patch were applied? We'd pass a NULL pointer.

	Regards
		Oliver

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [RESEND net-next v2 00/12]drivers: net: convert tasklets to use new tasklet_setup() API
  2020-09-14  7:43 [RESEND net-next v2 00/12]drivers: net: convert tasklets to use new tasklet_setup() API Allen Pais
                   ` (11 preceding siblings ...)
  2020-09-14  7:43 ` [RESEND net-next v2 12/12] net: usbnet: " Allen Pais
@ 2020-09-14 20:24 ` David Miller
  2020-09-15  4:20   ` Allen Pais
  2020-09-14 21:16 ` Saeed Mahameed
  13 siblings, 1 reply; 21+ messages in thread
From: David Miller @ 2020-09-14 20:24 UTC (permalink / raw)
  To: allen.lkml
  Cc: m.grzeschik, kuba, paulus, oliver, woojung.huh, UNGLinuxDriver,
	petkan, netdev, linux-usb, linux-ppp, apais

From: Allen Pais <allen.lkml@gmail.com>
Date: Mon, 14 Sep 2020 13:01:19 +0530

> From: Allen Pais <apais@linux.microsoft.com>
> 
> ommit 12cc923f1ccc ("tasklet: Introduce new initialization API")'
> introduced a new tasklet initialization API. This series converts
> all the net/* drivers to use the new tasklet_setup() API
> 
> This series is based on v5.9-rc5

I don't understand how this works, you're not passing the existing
parameter any more so won't that crash until the final parts of the
conversion?

This is like a half-transformation that will break bisection.

I'm not applying this series, sorry.

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [RESEND net-next v2 00/12]drivers: net: convert tasklets to use new tasklet_setup() API
  2020-09-14  7:43 [RESEND net-next v2 00/12]drivers: net: convert tasklets to use new tasklet_setup() API Allen Pais
                   ` (12 preceding siblings ...)
  2020-09-14 20:24 ` [RESEND net-next v2 00/12]drivers: net: " David Miller
@ 2020-09-14 21:16 ` Saeed Mahameed
  2020-09-15  4:24   ` Allen Pais
  13 siblings, 1 reply; 21+ messages in thread
From: Saeed Mahameed @ 2020-09-14 21:16 UTC (permalink / raw)
  To: davem, allen.lkml
  Cc: m.grzeschik, linux-usb, woojung.huh, petkan, oliver, netdev,
	kuba, UNGLinuxDriver, paulus, linux-ppp, apais

T24gTW9uLCAyMDIwLTA5LTE0IGF0IDEzOjAxICswNTMwLCBBbGxlbiBQYWlzIHdyb3RlOg0KPiBG
cm9tOiBBbGxlbiBQYWlzIDxhcGFpc0BsaW51eC5taWNyb3NvZnQuY29tPg0KPiANCj4gb21taXQg
MTJjYzkyM2YxY2NjICgidGFza2xldDogSW50cm9kdWNlIG5ldyBpbml0aWFsaXphdGlvbiBBUEki
KScNCj4gaW50cm9kdWNlZCBhIG5ldyB0YXNrbGV0IGluaXRpYWxpemF0aW9uIEFQSS4gVGhpcyBz
ZXJpZXMgY29udmVydHMNCj4gYWxsIHRoZSBuZXQvKiBkcml2ZXJzIHRvIHVzZSB0aGUgbmV3IHRh
c2tsZXRfc2V0dXAoKSBBUEkNCj4gDQo+IFRoaXMgc2VyaWVzIGlzIGJhc2VkIG9uIHY1LjktcmM1
DQo+IA0KPiBBbGxlbiBQYWlzICgxMik6DQo+ICAgbmV0OiBtdnBwMjogUHJlcGFyZSB0byB1c2Ug
dGhlIG5ldyB0YXNrbGV0IEFQSQ0KPiAgIG5ldDogYXJjbmV0OiBjb252ZXJ0IHRhc2tsZXRzIHRv
IHVzZSBuZXcgdGFza2xldF9zZXR1cCgpIEFQSQ0KPiAgIG5ldDogY2FpZjogY29udmVydCB0YXNr
bGV0cyB0byB1c2UgbmV3IHRhc2tsZXRfc2V0dXAoKSBBUEkNCj4gICBuZXQ6IGlmYjogY29udmVy
dCB0YXNrbGV0cyB0byB1c2UgbmV3IHRhc2tsZXRfc2V0dXAoKSBBUEkNCj4gICBuZXQ6IHBwcDog
Y29udmVydCB0YXNrbGV0cyB0byB1c2UgbmV3IHRhc2tsZXRfc2V0dXAoKSBBUEkNCj4gICBuZXQ6
IGNkY19uY206IGNvbnZlcnQgdGFza2xldHMgdG8gdXNlIG5ldyB0YXNrbGV0X3NldHVwKCkgQVBJ
DQo+ICAgbmV0OiBoc286IGNvbnZlcnQgdGFza2xldHMgdG8gdXNlIG5ldyB0YXNrbGV0X3NldHVw
KCkgQVBJDQo+ICAgbmV0OiBsYW43OHh4OiBjb252ZXJ0IHRhc2tsZXRzIHRvIHVzZSBuZXcgdGFz
a2xldF9zZXR1cCgpIEFQSQ0KPiAgIG5ldDogcGVnYXN1czogY29udmVydCB0YXNrbGV0cyB0byB1
c2UgbmV3IHRhc2tsZXRfc2V0dXAoKSBBUEkNCj4gICBuZXQ6IHI4MTUyOiBjb252ZXJ0IHRhc2ts
ZXRzIHRvIHVzZSBuZXcgdGFza2xldF9zZXR1cCgpIEFQSQ0KPiAgIG5ldDogcnRsODE1MDogY29u
dmVydCB0YXNrbGV0cyB0byB1c2UgbmV3IHRhc2tsZXRfc2V0dXAoKSBBUEkNCj4gICBuZXQ6IHVz
Ym5ldDogY29udmVydCB0YXNrbGV0cyB0byB1c2UgbmV3IHRhc2tsZXRfc2V0dXAoKSBBUEkNCj4g
DQo+IA0KDQpZb3UgYXJlIG9ubHkgY29udmVydGluZyBkcml2ZXJzIHdoaWNoIGFyZSBwYXNzaW5n
IHRoZSB0YXNrZWx0IHN0cnVjdCBhcw0KZGF0YSBwdHIsIG1vc3Qgb2Ygb3RoZXIgZHJpdmVycyBh
cmUgcGFzc2luZyB0aGUgY29udGFpbmVyIG9mIHRoZQ0KdGFza2xldCBhcyBkYXRhLCB3aHkgbm90
IGNvbnZlcnQgdGhlbSBhcyB3ZWxsLCBhbmQgbGV0IHRoZW0gdXNlDQpjb250YWluZXJfb2YgdG8g
ZmluZCB0aGVpciBkYXRhID8gaXQgaXMgcmVhbGx5IHN0cmFpZ2h0IGZvcndhcmQgYW5kDQp3aWxs
IGhlbHAgY29udmVydCBtb3N0IG9mIG5ldCBkcml2ZXIgaWYgbm90IGFsbC4NCg0K

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [RESEND net-next v2 01/12] net: mvpp2: Prepare to use the new tasklet API
  2020-09-14  7:43 ` [RESEND net-next v2 01/12] net: mvpp2: Prepare to use the new tasklet API Allen Pais
@ 2020-09-15  1:02   ` Jakub Kicinski
  0 siblings, 0 replies; 21+ messages in thread
From: Jakub Kicinski @ 2020-09-15  1:02 UTC (permalink / raw)
  To: Allen Pais
  Cc: davem, m.grzeschik, paulus, oliver, woojung.huh, UNGLinuxDriver,
	petkan, netdev, linux-usb, linux-ppp, Allen Pais, Romain Perier

On Mon, 14 Sep 2020 13:01:20 +0530 Allen Pais wrote:
> From: Allen Pais <apais@linux.microsoft.com>
> 
> The future tasklet API will no longer allow to pass an arbitrary
> "unsigned long" data parameter. The tasklet data structure will need to
> be embedded into a data structure that will be retrieved from the tasklet
> handler. Currently, there are no ways to retrieve the "struct mvpp2_port
> *" from a given "struct mvpp2_port_pcpu *". This commit adds a new field
> to get the address of the main port for each pcpu context.
> 
> Signed-off-by: Romain Perier <romain.perier@gmail.com>
> Signed-off-by: Allen Pais <apais@linux.microsoft.com>
> ---
>  drivers/net/ethernet/marvell/mvpp2/mvpp2.h      | 1 +
>  drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c | 1 +
>  2 files changed, 2 insertions(+)
> 
> diff --git a/drivers/net/ethernet/marvell/mvpp2/mvpp2.h b/drivers/net/ethernet/marvell/mvpp2/mvpp2.h
> index 32753cc771bf..198860a4527d 100644
> --- a/drivers/net/ethernet/marvell/mvpp2/mvpp2.h
> +++ b/drivers/net/ethernet/marvell/mvpp2/mvpp2.h
> @@ -861,6 +861,7 @@ struct mvpp2_port_pcpu {
>  	struct hrtimer tx_done_timer;
>  	struct net_device *dev;
>  	bool timer_scheduled;
> +	struct mvpp2_port *port;
>  };
>  
>  struct mvpp2_queue_vector {
> diff --git a/drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c b/drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
> index 6e140d1b8967..e8e68e8acdb3 100644
> --- a/drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
> +++ b/drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
> @@ -6025,6 +6025,7 @@ static int mvpp2_port_probe(struct platform_device *pdev,
>  		err = -ENOMEM;
>  		goto err_free_txq_pcpu;
>  	}
> +	port->pcpu->port = port;
>  
>  	if (!port->has_tx_irqs) {
>  		for (thread = 0; thread < priv->nthreads; thread++) {

Not 100% sure but I think this is yours:

drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c:6442:13: warning: dereference of noderef expression

port->pcpu is __percpu, no?

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [RESEND net-next v2 00/12]drivers: net: convert tasklets to use new tasklet_setup() API
  2020-09-14 20:24 ` [RESEND net-next v2 00/12]drivers: net: " David Miller
@ 2020-09-15  4:20   ` Allen Pais
  0 siblings, 0 replies; 21+ messages in thread
From: Allen Pais @ 2020-09-15  4:20 UTC (permalink / raw)
  To: David Miller, allen.lkml
  Cc: m.grzeschik, kuba, paulus, oliver, woojung.huh, UNGLinuxDriver,
	petkan, netdev, linux-usb, linux-ppp

> 
>> From: Allen Pais <apais@linux.microsoft.com>
>>
>> ommit 12cc923f1ccc ("tasklet: Introduce new initialization API")'
>> introduced a new tasklet initialization API. This series converts
>> all the net/* drivers to use the new tasklet_setup() API
>>
>> This series is based on v5.9-rc5
> 
> I don't understand how this works, you're not passing the existing
> parameter any more so won't that crash until the final parts of the
> conversion?
> 
> This is like a half-transformation that will break bisection.

  I understand, I will re-work on it and send it out.


> 
> I'm not applying this series, sorry.
> 

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [RESEND net-next v2 00/12]drivers: net: convert tasklets to use new tasklet_setup() API
  2020-09-14 21:16 ` Saeed Mahameed
@ 2020-09-15  4:24   ` Allen Pais
  2020-09-15  4:41     ` Saeed Mahameed
  0 siblings, 1 reply; 21+ messages in thread
From: Allen Pais @ 2020-09-15  4:24 UTC (permalink / raw)
  To: Saeed Mahameed, davem, allen.lkml
  Cc: m.grzeschik, linux-usb, woojung.huh, petkan, oliver, netdev,
	kuba, UNGLinuxDriver, paulus, linux-ppp



>>
>> ommit 12cc923f1ccc ("tasklet: Introduce new initialization API")'
>> introduced a new tasklet initialization API. This series converts
>> all the net/* drivers to use the new tasklet_setup() API
>>
>> This series is based on v5.9-rc5
>>
>> Allen Pais (12):
>>    net: mvpp2: Prepare to use the new tasklet API
>>    net: arcnet: convert tasklets to use new tasklet_setup() API
>>    net: caif: convert tasklets to use new tasklet_setup() API
>>    net: ifb: convert tasklets to use new tasklet_setup() API
>>    net: ppp: convert tasklets to use new tasklet_setup() API
>>    net: cdc_ncm: convert tasklets to use new tasklet_setup() API
>>    net: hso: convert tasklets to use new tasklet_setup() API
>>    net: lan78xx: convert tasklets to use new tasklet_setup() API
>>    net: pegasus: convert tasklets to use new tasklet_setup() API
>>    net: r8152: convert tasklets to use new tasklet_setup() API
>>    net: rtl8150: convert tasklets to use new tasklet_setup() API
>>    net: usbnet: convert tasklets to use new tasklet_setup() API
>>
>>
> 
> You are only converting drivers which are passing the taskelt struct as
> data ptr, most of other drivers are passing the container of the
> tasklet as data, why not convert them as well, and let them use
> container_of to find their data ? it is really straight forward and
> will help convert most of net driver if not all.
> 

from_tasklet uses container_of internally. use of container_of is 
avoided cause it end being really long.

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [RESEND net-next v2 00/12]drivers: net: convert tasklets to use new tasklet_setup() API
  2020-09-15  4:24   ` Allen Pais
@ 2020-09-15  4:41     ` Saeed Mahameed
  2020-09-15  4:56       ` Allen Pais
  0 siblings, 1 reply; 21+ messages in thread
From: Saeed Mahameed @ 2020-09-15  4:41 UTC (permalink / raw)
  To: apais, davem, allen.lkml
  Cc: m.grzeschik, linux-usb, woojung.huh, petkan, oliver, netdev,
	kuba, UNGLinuxDriver, paulus, linux-ppp

T24gVHVlLCAyMDIwLTA5LTE1IGF0IDA5OjQyICswNTMwLCBBbGxlbiBQYWlzIHdyb3RlOg0KPiA+
ID4gb21taXQgMTJjYzkyM2YxY2NjICgidGFza2xldDogSW50cm9kdWNlIG5ldyBpbml0aWFsaXph
dGlvbiBBUEkiKScNCj4gPiA+IGludHJvZHVjZWQgYSBuZXcgdGFza2xldCBpbml0aWFsaXphdGlv
biBBUEkuIFRoaXMgc2VyaWVzIGNvbnZlcnRzDQo+ID4gPiBhbGwgdGhlIG5ldC8qIGRyaXZlcnMg
dG8gdXNlIHRoZSBuZXcgdGFza2xldF9zZXR1cCgpIEFQSQ0KICAgICAgXl5eDQp0aGlzIGlzIG5v
dCBhbGwgZHJpdmVycyAuLiANCg0Kc2VlIGJlbG93IA0KDQo+ID4gPiBUaGlzIHNlcmllcyBpcyBi
YXNlZCBvbiB2NS45LXJjNQ0KPiA+ID4gDQo+ID4gPiBBbGxlbiBQYWlzICgxMik6DQo+ID4gPiAg
ICBuZXQ6IG12cHAyOiBQcmVwYXJlIHRvIHVzZSB0aGUgbmV3IHRhc2tsZXQgQVBJDQo+ID4gPiAg
ICBuZXQ6IGFyY25ldDogY29udmVydCB0YXNrbGV0cyB0byB1c2UgbmV3IHRhc2tsZXRfc2V0dXAo
KSBBUEkNCj4gPiA+ICAgIG5ldDogY2FpZjogY29udmVydCB0YXNrbGV0cyB0byB1c2UgbmV3IHRh
c2tsZXRfc2V0dXAoKSBBUEkNCj4gPiA+ICAgIG5ldDogaWZiOiBjb252ZXJ0IHRhc2tsZXRzIHRv
IHVzZSBuZXcgdGFza2xldF9zZXR1cCgpIEFQSQ0KPiA+ID4gICAgbmV0OiBwcHA6IGNvbnZlcnQg
dGFza2xldHMgdG8gdXNlIG5ldyB0YXNrbGV0X3NldHVwKCkgQVBJDQo+ID4gPiAgICBuZXQ6IGNk
Y19uY206IGNvbnZlcnQgdGFza2xldHMgdG8gdXNlIG5ldyB0YXNrbGV0X3NldHVwKCkgQVBJDQo+
ID4gPiAgICBuZXQ6IGhzbzogY29udmVydCB0YXNrbGV0cyB0byB1c2UgbmV3IHRhc2tsZXRfc2V0
dXAoKSBBUEkNCj4gPiA+ICAgIG5ldDogbGFuNzh4eDogY29udmVydCB0YXNrbGV0cyB0byB1c2Ug
bmV3IHRhc2tsZXRfc2V0dXAoKSBBUEkNCj4gPiA+ICAgIG5ldDogcGVnYXN1czogY29udmVydCB0
YXNrbGV0cyB0byB1c2UgbmV3IHRhc2tsZXRfc2V0dXAoKSBBUEkNCj4gPiA+ICAgIG5ldDogcjgx
NTI6IGNvbnZlcnQgdGFza2xldHMgdG8gdXNlIG5ldyB0YXNrbGV0X3NldHVwKCkgQVBJDQo+ID4g
PiAgICBuZXQ6IHJ0bDgxNTA6IGNvbnZlcnQgdGFza2xldHMgdG8gdXNlIG5ldyB0YXNrbGV0X3Nl
dHVwKCkgQVBJDQo+ID4gPiAgICBuZXQ6IHVzYm5ldDogY29udmVydCB0YXNrbGV0cyB0byB1c2Ug
bmV3IHRhc2tsZXRfc2V0dXAoKSBBUEkNCj4gPiA+IA0KPiA+ID4gDQo+ID4gDQo+ID4gWW91IGFy
ZSBvbmx5IGNvbnZlcnRpbmcgZHJpdmVycyB3aGljaCBhcmUgcGFzc2luZyB0aGUgdGFza2VsdA0K
PiA+IHN0cnVjdCBhcw0KPiA+IGRhdGEgcHRyLCBtb3N0IG9mIG90aGVyIGRyaXZlcnMgYXJlIHBh
c3NpbmcgdGhlIGNvbnRhaW5lciBvZiB0aGUNCj4gPiB0YXNrbGV0IGFzIGRhdGEsIHdoeSBub3Qg
Y29udmVydCB0aGVtIGFzIHdlbGwsIGFuZCBsZXQgdGhlbSB1c2UNCj4gPiBjb250YWluZXJfb2Yg
dG8gZmluZCB0aGVpciBkYXRhID8gaXQgaXMgcmVhbGx5IHN0cmFpZ2h0IGZvcndhcmQgYW5kDQo+
ID4gd2lsbCBoZWxwIGNvbnZlcnQgbW9zdCBvZiBuZXQgZHJpdmVyIGlmIG5vdCBhbGwuDQo+ID4g
DQo+IA0KPiBmcm9tX3Rhc2tsZXQgdXNlcyBjb250YWluZXJfb2YgaW50ZXJuYWxseS4gdXNlIG9m
IGNvbnRhaW5lcl9vZiBpcyANCj4gYXZvaWRlZCBjYXVzZSBpdCBlbmQgYmVpbmcgcmVhbGx5IGxv
bmcuDQoNCkkgdW5kZXJzdGFuZCB0aGF0LCB3aGF0IEkgbWVhbnQsIHlvdSBkaWRuJ3QgcmVhbGx5
IGNvbnZlcnQgYWxsIGRyaXZlcnMsDQphcyB5b3UgY2xhaW0gaW4gdGhlIGNvdmVyIGxldHRlciwg
YWxsIHlvdSBkaWQgaXMgY29udmVydGluZyBfX3NvbWVfXw0KZHJpdmVycyB3aGljaCBhcmUgcGFz
c2luZyB0aGUgdGFza2xldCBwdHIgYXMgZGF0YSBwdHIuIGFsbCBvdGhlcg0KZHJpdmVycyB0aGF0
IHVzZSB0YXNrbGV0X2luaXQgZGlmZmVyZW50bHkgYXJlIG5vdCBjb252ZXJ0ZWQsIGFuZCBpdA0K
c2hvdWxkIGJlIHJlbGF0aXZlbHkgZWFzeSBhcyBpIGV4cGxhaW5lZCBhYm92ZS4gDQoNClRoZSBs
aXN0IG9mIGRyaXZlcnMgdXNpbmcgdGFza2xldF9pbml0IGlzIGxvbmdlciB0aGFuIHdoYXQgeW91
IHRvdWNoZWQNCmluIHlvdXIgc2VyaWVzOg0KDQogZHJpdmVycy9uZXQvYXJjbmV0L2FyY25ldC5j
ICAgICAgICAgICAgICAgICAgICAgfCAgNyArKystLS0tDQogZHJpdmVycy9uZXQvY2FpZi9jYWlm
X3ZpcnRpby5jICAgICAgICAgICAgICAgICAgfCAgOCArKystLS0tLQ0KIGRyaXZlcnMvbmV0L2V0
aGVybmV0L21hcnZlbGwvbXZwcDIvbXZwcDIuaCAgICAgIHwgIDEgKw0KIGRyaXZlcnMvbmV0L2V0
aGVybmV0L21hcnZlbGwvbXZwcDIvbXZwcDJfbWFpbi5jIHwgIDEgKw0KIGRyaXZlcnMvbmV0L2lm
Yi5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDcgKysrLS0tLQ0KIGRyaXZlcnMv
bmV0L3BwcC9wcHBfYXN5bmMuYyAgICAgICAgICAgICAgICAgICAgIHwgIDggKysrKy0tLS0NCiBk
cml2ZXJzL25ldC9wcHAvcHBwX3N5bmN0dHkuYyAgICAgICAgICAgICAgICAgICB8ICA4ICsrKyst
LS0tDQogZHJpdmVycy9uZXQvdXNiL2NkY19uY20uYyAgICAgICAgICAgICAgICAgICAgICAgfCAg
OCArKysrLS0tLQ0KIGRyaXZlcnMvbmV0L3VzYi9oc28uYyAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHwgMTAgKysrKystLS0tLQ0KIGRyaXZlcnMvbmV0L3VzYi9sYW43OHh4LmMgICAgICAgICAg
ICAgICAgICAgICAgIHwgIDYgKysrLS0tDQogZHJpdmVycy9uZXQvdXNiL3BlZ2FzdXMuYyAgICAg
ICAgICAgICAgICAgICAgICAgfCAgNiArKystLS0NCiBkcml2ZXJzL25ldC91c2IvcjgxNTIuYyAg
ICAgICAgICAgICAgICAgICAgICAgICB8ICA4ICsrKy0tLS0tDQogZHJpdmVycy9uZXQvdXNiL3J0
bDgxNTAuYyAgICAgICAgICAgICAgICAgICAgICAgfCAgNiArKystLS0NCiBkcml2ZXJzL25ldC91
c2IvdXNibmV0LmMgICAgICAgICAgICAgICAgICAgICAgICB8ICAzICstLQ0KIDE0IGZpbGVzIGNo
YW5nZWQsIDQxIGluc2VydGlvbnMoKyksIDQ2IGRlbGV0aW9ucygtKQ0KDQpUaGUgZnVsbCBmaWxl
L2RyaXZlciBsaXN0IDoNCg0KJCBnaXQgZ3JlcCAtbCB0YXNrbGV0X2luaXQgZHJpdmVycy9uZXQv
IA0KZHJpdmVycy9uZXQvYXJjbmV0L2FyY25ldC5jDQpkcml2ZXJzL25ldC9jYWlmL2NhaWZfdmly
dGlvLmMNCmRyaXZlcnMvbmV0L2V0aGVybmV0L2FsdGVvbi9hY2VuaWMuYw0KZHJpdmVycy9uZXQv
ZXRoZXJuZXQvYW1kL3hnYmUveGdiZS1kcnYuYw0KZHJpdmVycy9uZXQvZXRoZXJuZXQvYW1kL3hn
YmUveGdiZS1pMmMuYw0KZHJpdmVycy9uZXQvZXRoZXJuZXQvYW1kL3hnYmUveGdiZS1tZGlvLmMN
CmRyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL2NuaWMuYw0KZHJpdmVycy9uZXQvZXRoZXJu
ZXQvY2FkZW5jZS9tYWNiX21haW4uYw0KZHJpdmVycy9uZXQvZXRoZXJuZXQvY2F2aXVtL2xpcXVp
ZGlvL2xpb19tYWluLmMNCmRyaXZlcnMvbmV0L2V0aGVybmV0L2Nhdml1bS9vY3Rlb24vb2N0ZW9u
X21nbXQuYw0KZHJpdmVycy9uZXQvZXRoZXJuZXQvY2F2aXVtL3RodW5kZXIvbmljdmZfbWFpbi5j
DQpkcml2ZXJzL25ldC9ldGhlcm5ldC9jaGVsc2lvL2N4Z2Ivc2dlLmMNCmRyaXZlcnMvbmV0L2V0
aGVybmV0L2NoZWxzaW8vY3hnYjMvc2dlLmMNCmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8v
Y3hnYjQvY3hnYjRfdGNfbXFwcmlvLmMNCmRyaXZlcnMvbmV0L2V0aGVybmV0L2NoZWxzaW8vY3hn
YjQvc2dlLmMNCmRyaXZlcnMvbmV0L2V0aGVybmV0L2RsaW5rL3N1bmRhbmNlLmMNCmRyaXZlcnMv
bmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYy9oaW5pY19od19lcXMuYw0KZHJpdmVycy9uZXQvZXRo
ZXJuZXQvaWJtL2VoZWEvZWhlYV9tYWluLmMNCmRyaXZlcnMvbmV0L2V0aGVybmV0L2libS9pYm12
bmljLmMNCmRyaXZlcnMvbmV0L2V0aGVybmV0L2ptZS5jDQpkcml2ZXJzL25ldC9ldGhlcm5ldC9t
YXJ2ZWxsL3NrZ2UuYw0KZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NC9lcS5jDQpk
cml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvZXEuYw0KZHJpdmVycy9uZXQv
ZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL2ZwZ2EvY29ubi5jDQpkcml2ZXJzL25ldC9ldGhl
cm5ldC9tZWxsYW5veC9tbHhzdy9wY2kuYw0KZHJpdmVycy9uZXQvZXRoZXJuZXQvbWljcmVsL2tz
ODg0Mi5jDQpkcml2ZXJzL25ldC9ldGhlcm5ldC9taWNyZWwva3N6ODg0eC5jDQpkcml2ZXJzL25l
dC9ldGhlcm5ldC9uYXRzZW1pL25zODM4MjAuYw0KZHJpdmVycy9uZXQvZXRoZXJuZXQvbmV0cm9u
b21lL25mcC9uZnBfbmV0X2NvbW1vbi5jDQpkcml2ZXJzL25ldC9ldGhlcm5ldC9uaS9uaXhnZS5j
DQpkcml2ZXJzL25ldC9ldGhlcm5ldC9xbG9naWMvcWVkL3FlZF9pbnQuYw0KZHJpdmVycy9uZXQv
ZXRoZXJuZXQvc2lsYW4vc2M5MjAzMS5jDQpkcml2ZXJzL25ldC9ldGhlcm5ldC9zbXNjL3NtYzkx
eC5jDQpkcml2ZXJzL25ldC9pZmIuYw0KZHJpdmVycy9uZXQvcHBwL3BwcF9hc3luYy5jDQpkcml2
ZXJzL25ldC9wcHAvcHBwX3N5bmN0dHkuYw0KZHJpdmVycy9uZXQvdXNiL2NkY19uY20uYw0KZHJp
dmVycy9uZXQvdXNiL2hzby5jDQpkcml2ZXJzL25ldC91c2IvbGFuNzh4eC5jDQpkcml2ZXJzL25l
dC91c2IvcGVnYXN1cy5jDQpkcml2ZXJzL25ldC91c2IvcjgxNTIuYw0KZHJpdmVycy9uZXQvdXNi
L3J0bDgxNTAuYw0KZHJpdmVycy9uZXQvd2lyZWxlc3MvYXRoL2F0aDExay9wY2kuYw0KZHJpdmVy
cy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tYWM4MDIxMS5jDQpkcml2ZXJzL25ldC93aXJl
bGVzcy9tZWRpYXRlay9tdDc2L210NzYwMy9pbml0LmMNCmRyaXZlcnMvbmV0L3dpcmVsZXNzL21l
ZGlhdGVrL210NzYvbXQ3NjE1L21taW8uYw0KZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsv
bXQ3Ni9tdDc2eDAyX2Rmcy5jDQpkcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210
NzZ4MDJfbW1pby5jDQpkcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L3VzYi5jDQpk
cml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2MDF1L2RtYS5jDQo

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [RESEND net-next v2 00/12]drivers: net: convert tasklets to use new tasklet_setup() API
  2020-09-15  4:41     ` Saeed Mahameed
@ 2020-09-15  4:56       ` Allen Pais
  0 siblings, 0 replies; 21+ messages in thread
From: Allen Pais @ 2020-09-15  4:56 UTC (permalink / raw)
  To: Saeed Mahameed, davem, allen.lkml
  Cc: m.grzeschik, linux-usb, woojung.huh, petkan, oliver, netdev,
	kuba, UNGLinuxDriver, paulus, linux-ppp


Saeed,
>>>> ommit 12cc923f1ccc ("tasklet: Introduce new initialization API")'
>>>> introduced a new tasklet initialization API. This series converts
>>>> all the net/* drivers to use the new tasklet_setup() API
>        ^^^
> this is not all drivers ..

Right, my bad, I should not have said net/*.


> see below
> 
>>>> This series is based on v5.9-rc5
>>>>
>>>> Allen Pais (12):
>>>>     net: mvpp2: Prepare to use the new tasklet API
>>>>     net: arcnet: convert tasklets to use new tasklet_setup() API
>>>>     net: caif: convert tasklets to use new tasklet_setup() API
>>>>     net: ifb: convert tasklets to use new tasklet_setup() API
>>>>     net: ppp: convert tasklets to use new tasklet_setup() API
>>>>     net: cdc_ncm: convert tasklets to use new tasklet_setup() API
>>>>     net: hso: convert tasklets to use new tasklet_setup() API
>>>>     net: lan78xx: convert tasklets to use new tasklet_setup() API
>>>>     net: pegasus: convert tasklets to use new tasklet_setup() API
>>>>     net: r8152: convert tasklets to use new tasklet_setup() API
>>>>     net: rtl8150: convert tasklets to use new tasklet_setup() API
>>>>     net: usbnet: convert tasklets to use new tasklet_setup() API
>>>>
>>>>
>>>
>>> You are only converting drivers which are passing the taskelt
>>> struct as
>>> data ptr, most of other drivers are passing the container of the
>>> tasklet as data, why not convert them as well, and let them use
>>> container_of to find their data ? it is really straight forward and
>>> will help convert most of net driver if not all.
>>>
>>
>> from_tasklet uses container_of internally. use of container_of is
>> avoided cause it end being really long.
> 
> I understand that, what I meant, you didn't really convert all drivers,
> as you claim in the cover letter, all you did is converting __some__
> drivers which are passing the tasklet ptr as data ptr. all other
> drivers that use tasklet_init differently are not converted, and it
> should be relatively easy as i explained above.
> 
> The list of drivers using tasklet_init is longer than what you touched
> in your series:
> 
>   drivers/net/arcnet/arcnet.c                     |  7 +++----
>   drivers/net/caif/caif_virtio.c                  |  8 +++-----
>   drivers/net/ethernet/marvell/mvpp2/mvpp2.h      |  1 +
>   drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c |  1 +
>   drivers/net/ifb.c                               |  7 +++----
>   drivers/net/ppp/ppp_async.c                     |  8 ++++----
>   drivers/net/ppp/ppp_synctty.c                   |  8 ++++----
>   drivers/net/usb/cdc_ncm.c                       |  8 ++++----
>   drivers/net/usb/hso.c                           | 10 +++++-----
>   drivers/net/usb/lan78xx.c                       |  6 +++---
>   drivers/net/usb/pegasus.c                       |  6 +++---
>   drivers/net/usb/r8152.c                         |  8 +++-----
>   drivers/net/usb/rtl8150.c                       |  6 +++---
>   drivers/net/usb/usbnet.c                        |  3 +--
>   14 files changed, 41 insertions(+), 46 deletions(-)
> 
> The full file/driver list :

Yes, drivers/net/ethernet/* drivers/net/wireless/* were submitted as a 
separate series. The rest of them were part of the series above.

I should break it down so that it's easier to bisect.

Thanks.


> 
> $ git grep -l tasklet_init drivers/net/
> drivers/net/arcnet/arcnet.c
> drivers/net/caif/caif_virtio.c
> drivers/net/ethernet/alteon/acenic.c
> drivers/net/ethernet/amd/xgbe/xgbe-drv.c
> drivers/net/ethernet/amd/xgbe/xgbe-i2c.c
> drivers/net/ethernet/amd/xgbe/xgbe-mdio.c
> drivers/net/ethernet/broadcom/cnic.c
> drivers/net/ethernet/cadence/macb_main.c
> drivers/net/ethernet/cavium/liquidio/lio_main.c
> drivers/net/ethernet/cavium/octeon/octeon_mgmt.c
> drivers/net/ethernet/cavium/thunder/nicvf_main.c
> drivers/net/ethernet/chelsio/cxgb/sge.c
> drivers/net/ethernet/chelsio/cxgb3/sge.c
> drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_mqprio.c
> drivers/net/ethernet/chelsio/cxgb4/sge.c
> drivers/net/ethernet/dlink/sundance.c
> drivers/net/ethernet/huawei/hinic/hinic_hw_eqs.c
> drivers/net/ethernet/ibm/ehea/ehea_main.c
> drivers/net/ethernet/ibm/ibmvnic.c
> drivers/net/ethernet/jme.c
> drivers/net/ethernet/marvell/skge.c
> drivers/net/ethernet/mellanox/mlx4/eq.c
> drivers/net/ethernet/mellanox/mlx5/core/eq.c
> drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c
> drivers/net/ethernet/mellanox/mlxsw/pci.c
> drivers/net/ethernet/micrel/ks8842.c
> drivers/net/ethernet/micrel/ksz884x.c
> drivers/net/ethernet/natsemi/ns83820.c
> drivers/net/ethernet/netronome/nfp/nfp_net_common.c
> drivers/net/ethernet/ni/nixge.c
> drivers/net/ethernet/qlogic/qed/qed_int.c
> drivers/net/ethernet/silan/sc92031.c
> drivers/net/ethernet/smsc/smc91x.c
> drivers/net/ifb.c
> drivers/net/ppp/ppp_async.c
> drivers/net/ppp/ppp_synctty.c
> drivers/net/usb/cdc_ncm.c
> drivers/net/usb/hso.c
> drivers/net/usb/lan78xx.c
> drivers/net/usb/pegasus.c
> drivers/net/usb/r8152.c
> drivers/net/usb/rtl8150.c
> drivers/net/wireless/ath/ath11k/pci.c
> drivers/net/wireless/mediatek/mt76/mac80211.c
> drivers/net/wireless/mediatek/mt76/mt7603/init.c
> drivers/net/wireless/mediatek/mt76/mt7615/mmio.c
> drivers/net/wireless/mediatek/mt76/mt76x02_dfs.c
> drivers/net/wireless/mediatek/mt76/mt76x02_mmio.c
> drivers/net/wireless/mediatek/mt76/usb.c
> drivers/net/wireless/mediatek/mt7601u/dma.c
> 

^ permalink raw reply	[flat|nested] 21+ messages in thread

end of thread, other threads:[~2020-09-15  4:56 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-09-14  7:43 [RESEND net-next v2 00/12]drivers: net: convert tasklets to use new tasklet_setup() API Allen Pais
2020-09-14  7:43 ` [RESEND net-next v2 01/12] net: mvpp2: Prepare to use the new tasklet API Allen Pais
2020-09-15  1:02   ` Jakub Kicinski
2020-09-14  7:43 ` [RESEND net-next v2 02/12] net: arcnet: convert tasklets to use new tasklet_setup() API Allen Pais
2020-09-14  7:43 ` [RESEND net-next v2 03/12] net: caif: " Allen Pais
2020-09-14  7:43 ` [RESEND net-next v2 04/12] net: ifb: " Allen Pais
2020-09-14  7:43 ` [RESEND net-next v2 05/12] net: ppp: " Allen Pais
2020-09-14  7:43 ` [RESEND net-next v2 06/12] net: cdc_ncm: " Allen Pais
2020-09-14  7:43 ` [RESEND net-next v2 07/12] net: hso: " Allen Pais
2020-09-14  7:43 ` [RESEND net-next v2 08/12] net: lan78xx: " Allen Pais
2020-09-14  7:43 ` [RESEND net-next v2 09/12] net: pegasus: " Allen Pais
2020-09-14  7:43 ` [RESEND net-next v2 10/12] net: r8152: " Allen Pais
2020-09-14  7:43 ` [RESEND net-next v2 11/12] net: rtl8150: " Allen Pais
2020-09-14  7:43 ` [RESEND net-next v2 12/12] net: usbnet: " Allen Pais
2020-09-14  8:02   ` Oliver Neukum
2020-09-14 20:24 ` [RESEND net-next v2 00/12]drivers: net: " David Miller
2020-09-15  4:20   ` Allen Pais
2020-09-14 21:16 ` Saeed Mahameed
2020-09-15  4:24   ` Allen Pais
2020-09-15  4:41     ` Saeed Mahameed
2020-09-15  4:56       ` Allen Pais

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).