Commit 83dea128 authored by Allen Pais's avatar Allen Pais Committed by Corey Minyard

char: ipmi: convert tasklets to use new tasklet_setup() API

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: default avatarRomain Perier <romain.perier@gmail.com>
Signed-off-by: default avatarAllen Pais <allen.lkml@gmail.com>
Message-Id: <20200817091617.28119-3-allen.cryptic@gmail.com>
Signed-off-by: default avatarCorey Minyard <cminyard@mvista.com>
parent fc80c51f
...@@ -39,7 +39,7 @@ ...@@ -39,7 +39,7 @@
static struct ipmi_recv_msg *ipmi_alloc_recv_msg(void); static struct ipmi_recv_msg *ipmi_alloc_recv_msg(void);
static int ipmi_init_msghandler(void); static int ipmi_init_msghandler(void);
static void smi_recv_tasklet(unsigned long); static void smi_recv_tasklet(struct tasklet_struct *t);
static void handle_new_recv_msgs(struct ipmi_smi *intf); static void handle_new_recv_msgs(struct ipmi_smi *intf);
static void need_waiter(struct ipmi_smi *intf); static void need_waiter(struct ipmi_smi *intf);
static int handle_one_recv_msg(struct ipmi_smi *intf, static int handle_one_recv_msg(struct ipmi_smi *intf,
...@@ -3430,9 +3430,8 @@ int ipmi_add_smi(struct module *owner, ...@@ -3430,9 +3430,8 @@ int ipmi_add_smi(struct module *owner,
intf->curr_seq = 0; intf->curr_seq = 0;
spin_lock_init(&intf->waiting_rcv_msgs_lock); spin_lock_init(&intf->waiting_rcv_msgs_lock);
INIT_LIST_HEAD(&intf->waiting_rcv_msgs); INIT_LIST_HEAD(&intf->waiting_rcv_msgs);
tasklet_init(&intf->recv_tasklet, tasklet_setup(&intf->recv_tasklet,
smi_recv_tasklet, smi_recv_tasklet);
(unsigned long) intf);
atomic_set(&intf->watchdog_pretimeouts_to_deliver, 0); atomic_set(&intf->watchdog_pretimeouts_to_deliver, 0);
spin_lock_init(&intf->xmit_msgs_lock); spin_lock_init(&intf->xmit_msgs_lock);
INIT_LIST_HEAD(&intf->xmit_msgs); INIT_LIST_HEAD(&intf->xmit_msgs);
...@@ -4467,10 +4466,10 @@ static void handle_new_recv_msgs(struct ipmi_smi *intf) ...@@ -4467,10 +4466,10 @@ static void handle_new_recv_msgs(struct ipmi_smi *intf)
} }
} }
static void smi_recv_tasklet(unsigned long val) static void smi_recv_tasklet(struct tasklet_struct *t)
{ {
unsigned long flags = 0; /* keep us warning-free. */ unsigned long flags = 0; /* keep us warning-free. */
struct ipmi_smi *intf = (struct ipmi_smi *) val; struct ipmi_smi *intf = from_tasklet(intf, t, recv_tasklet);
int run_to_completion = intf->run_to_completion; int run_to_completion = intf->run_to_completion;
struct ipmi_smi_msg *newmsg = NULL; struct ipmi_smi_msg *newmsg = NULL;
...@@ -4542,7 +4541,7 @@ void ipmi_smi_msg_received(struct ipmi_smi *intf, ...@@ -4542,7 +4541,7 @@ void ipmi_smi_msg_received(struct ipmi_smi *intf,
spin_unlock_irqrestore(&intf->xmit_msgs_lock, flags); spin_unlock_irqrestore(&intf->xmit_msgs_lock, flags);
if (run_to_completion) if (run_to_completion)
smi_recv_tasklet((unsigned long) intf); smi_recv_tasklet(&intf->recv_tasklet);
else else
tasklet_schedule(&intf->recv_tasklet); tasklet_schedule(&intf->recv_tasklet);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment