Re: [PATCH] Input: mpu3050: set IRQF_ONESHOT when requesting the interrupt
From: Stephen Warren <hidden>
Date: 2012-05-11 18:29:47
On 05/11/2012 01:29 AM, Dmitry Torokhov wrote:
On Wed, May 09, 2012 at 01:35:23PM -0600, Stephen Warren wrote:quoted
On 05/08/2012 11:23 PM, Dmitry Torokhov wrote:quoted
Hi Stephen, On Tue, May 01, 2012 at 11:46:46AM -0600, Stephen Warren wrote:quoted
From: Stephen Warren <redacted> Commit 1c6c695 "genirq: Reject bogus threaded irq requests" requires that request_threaded_irq() either be passed an explicit handler, or that IRQF_ONESHOT be set. Set this flag. Signed-off-by: Stephen Warren <redacted>Applied, thank you. BTW, since it appears you have the hardware any chance you could try the patch below? I had it in my queue for a while but Alan disappeared and I didn't have anyone to test it.I tested the patch with an interrupt supplied, and still see periodic output from evbug that appears to correlate with when I move the board. I'm not sure how to test it in polled mode. What application would I use to trigger the polling? evtest just seems to print out the initial values, but not poll.Then there is a problem with the patch; once someone (i.e. evtest) opens input device kernel should start polling at givein interval... I think I know what might be wrong. We need to make sure we are calling runtime PM APIs instead of trying to wake up chip directly because parent might be sleeping as well. Does the version below work any better?
Yes, but there's still one issue. Case 1: CONFIG_INPUT_MPU3050_POLLED_MODE=n IRQ supplied to driver Works Case 2: CONFIG_INPUT_MPU3050_POLLED_MODE=y IRQ supplied to driver Fails; no output from evtest Case 2: CONFIG_INPUT_MPU3050_POLLED_MODE=y IRQ NOT supplied to driver Works