Question about using spinlock to synchronize between kernel driver and an interrupt handler
Josh Cartwright
joshc at eso.teric.us
Sat Feb 1 08:34:22 EST 2014
On Sat, Feb 01, 2014 at 01:32:49AM -0800, anish singh wrote:
> On Sat, Feb 1, 2014 at 1:15 AM, m silverstri
> <michael.j.silverstri at gmail.com> wrote:
> > By driver code , I mean the code which set the register values and
> > wait till the values is set (via an interrupt handler) before
> > continues doing something else
> ok so you are looking for below code:
>
>
> some_func()
> {
> set_register_value
> x_variable=0
> wait_for_event*(x_variable);
> }
>
> interrupt_handler(){
> x_variable=1
> wake_up();
> }
>
> request_irq(interrupt_handler);
Please investigate the usage of completions in your driver. See
include/linux/completion.h. It sounds like it fits your usecase nicely.
Josh
More information about the Kernelnewbies
mailing list