May be you can use udev In the
err = request_threaded_irq(pdata->irq, NULL, receive_thread,
pdata->irqflags, "interrupt", ir);
In reciever thread
static irqreturn_t receive_threar(int irq, void *context_data)
{
struct data *dh = context_data;
input_report_key(dh->input_dev, key, 1);
input_sync(dh>input_dev)
}
In userspace use evetest like application to wait on the event or simple
select on /dev/input should work
On Tue, Sep 9, 2014 at 8:10 AM, neo star <[email protected]> wrote:
> Hi
>
> I too have the same question, have you found any answer ? thanks
>
>
> On Thursday, August 28, 2014 3:14:12 PM UTC+5:30, [email protected] wrote:
>>
>> I have read online that we can't handle interrupts from user
>> space. Instead -
>> 1) We can write a kernel thread and have that thread wait on an event.
>> 2) Once the interrupt occurs, send one asynchronous event from the kernel
>> module/driver to user space where we will have one signal handler with
>> FASYNC to tackle this
>>
>> I have written a kernel module that registers interrupts on the rising
>> edge on a GPIO pin and want to relay this message to user space. How do I
>> go about implementing the above?
>>
>> Thanks!
>>
> --
> For more options, visit http://beagleboard.org/discuss
> ---
> You received this message because you are subscribed to the Google Groups
> "BeagleBoard" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> For more options, visit https://groups.google.com/d/optout.
>
--
For more options, visit http://beagleboard.org/discuss
---
You received this message because you are subscribed to the Google Groups
"BeagleBoard" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.