Skip to content

Commit

Permalink
irq_work: Remove return value from the irq_work_queue() function
Browse files Browse the repository at this point in the history
As no one is using the return value of irq_work_queue(),
so it is better to just make it void.

Signed-off-by: anish kumar <[email protected]>
Acked-by: Steven Rostedt <[email protected]>
[ Fix stale comments, remove now unnecessary __irq_work_queue() intermediate function ]
Signed-off-by: Frederic Weisbecker <[email protected]>
Link: http://lkml.kernel.org/r/[email protected]
Signed-off-by: Ingo Molnar <[email protected]>
  • Loading branch information
anish198519851985 authored and Ingo Molnar committed Feb 4, 2013
1 parent 786133f commit c02cf5f
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 22 deletions.
2 changes: 1 addition & 1 deletion include/linux/irq_work.h
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ void init_irq_work(struct irq_work *work, void (*func)(struct irq_work *))
work->func = func;
}

bool irq_work_queue(struct irq_work *work);
void irq_work_queue(struct irq_work *work);
void irq_work_run(void);
void irq_work_sync(struct irq_work *work);

Expand Down
31 changes: 10 additions & 21 deletions kernel/irq_work.c
Original file line number Diff line number Diff line change
Expand Up @@ -63,12 +63,20 @@ void __weak arch_irq_work_raise(void)
}

/*
* Queue the entry and raise the IPI if needed.
* Enqueue the irq_work @entry unless it's already pending
* somewhere.
*
* Can be re-enqueued while the callback is still in progress.
*/
static void __irq_work_queue(struct irq_work *work)
void irq_work_queue(struct irq_work *work)
{
bool empty;

/* Only queue if not already pending */
if (!irq_work_claim(work))
return;

/* Queue the entry and raise the IPI if needed. */
preempt_disable();

empty = llist_add(&work->llnode, &__get_cpu_var(irq_work_list));
Expand All @@ -78,25 +86,6 @@ static void __irq_work_queue(struct irq_work *work)

preempt_enable();
}

/*
* Enqueue the irq_work @entry, returns true on success, failure when the
* @entry was already enqueued by someone else.
*
* Can be re-enqueued while the callback is still in progress.
*/
bool irq_work_queue(struct irq_work *work)
{
if (!irq_work_claim(work)) {
/*
* Already enqueued, can't do!
*/
return false;
}

__irq_work_queue(work);
return true;
}
EXPORT_SYMBOL_GPL(irq_work_queue);

/*
Expand Down

0 comments on commit c02cf5f

Please sign in to comment.