[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20200817091617.28119-4-allen.cryptic@gmail.com>
Date: Mon, 17 Aug 2020 14:45:58 +0530
From: Allen Pais <allen.cryptic@...il.com>
To: jdike@...toit.com, richard@....at, anton.ivanov@...bridgegreys.com,
3chas3@...il.com, axboe@...nel.dk, stefanr@...6.in-berlin.de,
airlied@...ux.ie, daniel@...ll.ch, sre@...nel.org,
James.Bottomley@...senPartnership.com, kys@...rosoft.com,
deller@....de, dmitry.torokhov@...il.com, jassisinghbrar@...il.com,
shawnguo@...nel.org, s.hauer@...gutronix.de,
maximlevitsky@...il.com, oakad@...oo.com, ulf.hansson@...aro.org,
mporter@...nel.crashing.org, alex.bou9@...il.com,
broonie@...nel.org, martyn@...chs.me.uk, manohar.vanga@...il.com,
mitch@...oth.com, davem@...emloft.net, kuba@...nel.org
Cc: keescook@...omium.org, linux-um@...ts.infradead.org,
linux-kernel@...r.kernel.org,
linux-atm-general@...ts.sourceforge.net, netdev@...r.kernel.org,
linux-block@...r.kernel.org, linux-arm-kernel@...ts.infradead.org,
openipmi-developer@...ts.sourceforge.net,
linux1394-devel@...ts.sourceforge.net,
intel-gfx@...ts.freedesktop.org, dri-devel@...ts.freedesktop.org,
linux-hyperv@...r.kernel.org, linux-parisc@...r.kernel.org,
linux-input@...r.kernel.org, linux-mmc@...r.kernel.org,
linux-ntb@...glegroups.com, linux-s390@...r.kernel.org,
linux-spi@...r.kernel.org, devel@...verdev.osuosl.org,
Allen Pais <allen.lkml@...il.com>,
Romain Perier <romain.perier@...il.com>
Subject: [PATCH] driver: hv: convert tasklets to use new tasklet_setup() API
From: Allen Pais <allen.lkml@...il.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@...il.com>
Signed-off-by: Allen Pais <allen.lkml@...il.com>
---
drivers/hv/channel_mgmt.c | 3 +--
drivers/hv/connection.c | 4 ++--
drivers/hv/hv.c | 3 +--
drivers/hv/hyperv_vmbus.h | 4 ++--
drivers/hv/vmbus_drv.c | 4 ++--
5 files changed, 8 insertions(+), 10 deletions(-)
diff --git a/drivers/hv/channel_mgmt.c b/drivers/hv/channel_mgmt.c
index 591106cf58fc..640fc1688d49 100644
--- a/drivers/hv/channel_mgmt.c
+++ b/drivers/hv/channel_mgmt.c
@@ -321,8 +321,7 @@ static struct vmbus_channel *alloc_channel(void)
INIT_LIST_HEAD(&channel->sc_list);
- tasklet_init(&channel->callback_event,
- vmbus_on_event, (unsigned long)channel);
+ tasklet_setup(&channel->callback_event, vmbus_on_event);
hv_ringbuffer_pre_init(channel);
diff --git a/drivers/hv/connection.c b/drivers/hv/connection.c
index 11170d9a2e1a..23e10ebecf5c 100644
--- a/drivers/hv/connection.c
+++ b/drivers/hv/connection.c
@@ -322,9 +322,9 @@ struct vmbus_channel *relid2channel(u32 relid)
* If this tasklet has been running for a long time
* then reschedule ourselves.
*/
-void vmbus_on_event(unsigned long data)
+void vmbus_on_event(struct tasklet_struct *t)
{
- struct vmbus_channel *channel = (void *) data;
+ struct vmbus_channel *channel = from_tasklet(channel, t, callback_event);
unsigned long time_limit = jiffies + 2;
trace_vmbus_on_event(channel);
diff --git a/drivers/hv/hv.c b/drivers/hv/hv.c
index da69338f92f5..91a0582387d6 100644
--- a/drivers/hv/hv.c
+++ b/drivers/hv/hv.c
@@ -96,8 +96,7 @@ int hv_synic_alloc(void)
for_each_present_cpu(cpu) {
hv_cpu = per_cpu_ptr(hv_context.cpu_context, cpu);
- tasklet_init(&hv_cpu->msg_dpc,
- vmbus_on_msg_dpc, (unsigned long) hv_cpu);
+ tasklet_setup(&hv_cpu->msg_dpc, vmbus_on_msg_dpc);
hv_cpu->synic_message_page =
(void *)get_zeroed_page(GFP_ATOMIC);
diff --git a/drivers/hv/hyperv_vmbus.h b/drivers/hv/hyperv_vmbus.h
index 40e2b9f91163..36199d8ea8c3 100644
--- a/drivers/hv/hyperv_vmbus.h
+++ b/drivers/hv/hyperv_vmbus.h
@@ -351,8 +351,8 @@ void vmbus_disconnect(void);
int vmbus_post_msg(void *buffer, size_t buflen, bool can_sleep);
-void vmbus_on_event(unsigned long data);
-void vmbus_on_msg_dpc(unsigned long data);
+void vmbus_on_event(struct tasklet_struct *t);
+void vmbus_on_msg_dpc(struct tasklet_struct *t);
int hv_kvp_init(struct hv_util_service *srv);
void hv_kvp_deinit(void);
diff --git a/drivers/hv/vmbus_drv.c b/drivers/hv/vmbus_drv.c
index 910b6e90866c..6b7987dac97a 100644
--- a/drivers/hv/vmbus_drv.c
+++ b/drivers/hv/vmbus_drv.c
@@ -1043,9 +1043,9 @@ static void vmbus_onmessage_work(struct work_struct *work)
kfree(ctx);
}
-void vmbus_on_msg_dpc(unsigned long data)
+void vmbus_on_msg_dpc(struct tasklet_struct *t)
{
- struct hv_per_cpu_context *hv_cpu = (void *)data;
+ struct hv_per_cpu_context *hv_cpu = from_tasklet(hv_cpu, t, msg_dpc);
void *page_addr = hv_cpu->synic_message_page;
struct hv_message *msg = (struct hv_message *)page_addr +
VMBUS_MESSAGE_SINT;
--
2.17.1
Powered by blists - more mailing lists