Continuous Interrupt Problem

siddharth saxena siddharthsaxena1989 at gmail.com
Thu Jun 14 05:05:13 EDT 2012


Initialized in Probe :

if (device->irq) {
        ret = request_irq(device->irq, ts_int_handler,
        IRQF_TRIGGER_LOW, DRIVER_NAME, device);
        if (ret) {
            pr_err("unable to register touch irq.(%s)\r\n",
            device->input_dev->name);
            goto err_request_irq;
        }
    }



The pin by default has to be initialized to Active Low.




On Thu, Jun 14, 2012 at 2:24 PM, anish singh <anish198519851985 at gmail.com>wrote:

> On Thu, Jun 14, 2012 at 2:11 PM, siddharth saxena
> <siddharthsaxena1989 at gmail.com> wrote:
> > Hi Arun
> >
> > I tried changing the flag to IRQF_TRIGGER_HIGH but then device is
> behaving
> > abnormally(Hangs and is dead after some time).
> > Flooding interrupts still observed. Problem not solved.
> >
> > I want to know, are we supposed to change interrupt pin status or it is
> done
> > automatically when we return IRQ_HANDLED.
> why don't you paste the code for your probe routine where you are
> calling request_irq.
> Are you using threaded irq?It would be difficult to diagnose the
> problem without looking
> at your TSP manual and your code to find out the problem.
> >
> >
> >
> >
> > On Thu, Jun 14, 2012 at 12:21 PM, Sarbojit Ganguly
> > <unixman.linuxboy at gmail.com> wrote:
> >>
> >> Hi Arun,
> >>
> >> While I agree to your pointers but he is facing the problem of
> >> "interrupt floods" even before he touches.
> >> IMHO the culprit could be the flag.
> >>
> >> On 14 June 2012 12:01, Arun KS <getarunks at gmail.com> wrote:
> >> > Hello Siddharth,
> >> >
> >> > On Thu, Jun 14, 2012 at 10:34 AM, siddharth saxena
> >> > <siddharthsaxena1989 at gmail.com> wrote:
> >> >> Hi all
> >> >>
> >> >> I need help with an issue.
> >> >> I have written a touch driver for a device and used the flag
> >> >> IRQF_TRIGGER_LOW to request irq.
> >> >> Now, when I boot the device, the touch interrupts are coming already
> >> >> without
> >> >> touching the screen.
> >> >> Continuous interrupts are occurring without any touch.
> >> >
> >> > Probably the default state of the gpio pin(which you configured as
> >> > irq) is low. Check your HW schematic.
> >> >
> >> > TSC should have interrupt polarity(Active High/Low), which you have to
> >> > choose depending on your schematic while initiallizing the TSC.
> >> > Also different modes like assert interrupt when finger moving, when
> >> > finger touch, or assert periodically.
> >> >
> >> > Hope these pointer will help you.
> >> >
> >> > Thanks,
> >> > Arun
> >> >
> >> >>
> >> >>
> >> >>
> >> >> --
> >> >> Regards
> >> >> Siddharth Saxena
> >> >>
> >> >>
> >> >> _______________________________________________
> >> >> Kernelnewbies mailing list
> >> >> Kernelnewbies at kernelnewbies.org
> >> >> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
> >> >>
> >> >
> >> > _______________________________________________
> >> > Kernelnewbies mailing list
> >> > Kernelnewbies at kernelnewbies.org
> >> > http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
> >>
> >>
> >>
> >> --
> >> Regards,
> >> Sarbojit
> >
> >
> >
> >
> > --
> > Regards
> > Siddharth Saxena
> >
> >
> > _______________________________________________
> > Kernelnewbies mailing list
> > Kernelnewbies at kernelnewbies.org
> > http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
> >
>



-- 
Regards
Siddharth Saxena
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20120614/7df1fb8a/attachment.html 


More information about the Kernelnewbies mailing list