Re: [PATCH] PCAP touchscreen driver (for 2.6.32)

From: Dmitry Torokhov
Date: Mon Jun 29 2009 - 02:20:28 EST


On Sun, Jun 28, 2009 at 12:45:17PM +0530, Trilok Soni wrote:
> Hi Daniel,
>
> 2009/6/27 Daniel Ribeiro <drwyrm@xxxxxxxxx>:
> > +
> > +       err = request_irq(pcap_to_irq(pcap_ts->pcap, PCAP_IRQ_TS),
> > +                       pcap_ts_event_touch, 0, "Touch Screen", pcap_ts);
> > +       if (err)
> > +               goto fail;
> > +
> > +       err = input_register_device(pcap_ts->input);
> > +       if (err)
> > +               goto fail_touch;
>
> Please move request_irq after input_register_device, as IRQ can get
> fired before input device gets available, right?
>

Actually it is OK to have IRQs fired before the device is registered.
Input core guarantees that input device allocated with
input_allocate_device() will survive if events are sent through it. The
events will not be delivered anywhere, for obvious reason, but
everything else should be fine. In fact, if device has an event()
handler then it has to be fully operational (that includes IRQ reserved
and ready, unless the driver implements open/close methods) before
calling input_register_device - the handlers that will attach to the
device have every right to start sending events back to the device right
away and expect them to be handled properly.

--
Dmitry
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/