From: Bradley Morgan <include@grrlz.net>
To: Andrew Lunn <andrew+netdev@lunn.ch>,
"David S . Miller" <davem@davemloft.net>
Cc: Eric Dumazet <edumazet@google.com>,
Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
netdev@vger.kernel.org, linux-kernel@vger.kernel.org,
brads@mainlining.org
Subject: [PATCH 2/5] net: encx24j600: convert to kthread_run_worker
Date: Sat, 29 Aug 2026 16:15:02 +0000 [thread overview]
Message-ID: <20260829161502.18418-1-include@grrlz.net> (raw)
In-Reply-To: <20260829161150.16301-1-include@grrlz.net>
From: Bradley Morgan <brads@mainlining.org>
Embedding a kthread_worker and running kthread_worker_fn yourself is
the old way. Convert encx24j600 to kthread_run_worker(), dropping the
separate kworker_task pointer.
This is part of removing the worker->task self-assignment in
kthread_worker_fn().
Signed-off-by: Bradley Morgan <brads@mainlining.org>
---
drivers/net/ethernet/microchip/encx24j600.c | 20 ++++++++------------
1 file changed, 8 insertions(+), 12 deletions(-)
diff --git a/drivers/net/ethernet/microchip/encx24j600.c b/drivers/net/ethernet/microchip/encx24j600.c
index b011bf5c2305..460189064332 100644
--- a/drivers/net/ethernet/microchip/encx24j600.c
+++ b/drivers/net/ethernet/microchip/encx24j600.c
@@ -49,8 +49,7 @@ struct encx24j600_priv {
struct mutex lock; /* device access lock */
struct encx24j600_context ctx;
struct sk_buff *tx_skb;
- struct task_struct *kworker_task;
- struct kthread_worker kworker;
+ struct kthread_worker *kworker;
struct kthread_work tx_work;
struct kthread_work setrx_work;
u16 next_packet;
@@ -823,7 +822,7 @@ static void encx24j600_set_multicast_list(struct net_device *dev)
}
if (oldfilter != priv->rxfilter)
- kthread_queue_work(&priv->kworker, &priv->setrx_work);
+ kthread_queue_work(priv->kworker, &priv->setrx_work);
}
static void encx24j600_hw_tx(struct encx24j600_priv *priv)
@@ -884,7 +883,7 @@ static netdev_tx_t encx24j600_tx(struct sk_buff *skb, struct net_device *dev)
/* Remember the skb for deferred processing */
priv->tx_skb = skb;
- kthread_queue_work(&priv->kworker, &priv->tx_work);
+ kthread_queue_work(priv->kworker, &priv->tx_work);
return NETDEV_TX_OK;
}
@@ -1046,15 +1045,12 @@ static int encx24j600_spi_probe(struct spi_device *spi)
/* Initialize the device HW to the consistent state */
encx24j600_hw_init(priv);
- kthread_init_worker(&priv->kworker);
kthread_init_work(&priv->tx_work, encx24j600_tx_proc);
kthread_init_work(&priv->setrx_work, encx24j600_setrx_proc);
- priv->kworker_task = kthread_run(kthread_worker_fn, &priv->kworker,
- "encx24j600");
-
- if (IS_ERR(priv->kworker_task)) {
- ret = PTR_ERR(priv->kworker_task);
+ priv->kworker = kthread_run_worker(0, "encx24j600");
+ if (IS_ERR(priv->kworker)) {
+ ret = PTR_ERR(priv->kworker);
goto out_free;
}
@@ -1087,7 +1083,7 @@ static int encx24j600_spi_probe(struct spi_device *spi)
out_unregister:
unregister_netdev(priv->ndev);
out_stop:
- kthread_stop(priv->kworker_task);
+ kthread_destroy_worker(priv->kworker);
out_free:
free_netdev(ndev);
@@ -1100,7 +1096,7 @@ static void encx24j600_spi_remove(struct spi_device *spi)
struct encx24j600_priv *priv = dev_get_drvdata(&spi->dev);
unregister_netdev(priv->ndev);
- kthread_stop(priv->kworker_task);
+ kthread_destroy_worker(priv->kworker);
free_netdev(priv->ndev);
}
--
2.47.3
next prev parent reply other threads:[~2026-08-29 16:15 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20260829161150.16301-1-include@grrlz.net>
2026-08-29 16:13 ` [PATCH 1/5] media: ivtv: convert to kthread_run_worker Bradley Morgan
2026-08-29 16:15 ` Bradley Morgan [this message]
2026-08-29 16:16 ` [PATCH 3/5] tty: sc16is7xx: " Bradley Morgan
2026-08-29 16:17 ` [PATCH 4/5] cpufreq: schedutil: convert to kthread_create_worker Bradley Morgan
2026-08-29 15:56 [PATCH 2/5] net: encx24j600: convert to kthread_run_worker Bradley Morgan
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260829161502.18418-1-include@grrlz.net \
--to=include@grrlz.net \
--cc=andrew+netdev@lunn.ch \
--cc=brads@mainlining.org \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=kuba@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.