Re: [patch]GPIO button is supposed to wake the system up if the wakeup attribute is set

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tuesday 15 April 2014 09:48 PM, Li, Aubrey wrote:
On 2014/4/15 20:38, Laxman Dewangan wrote:
On Monday 14 April 2014 09:12 PM, Li, Aubrey wrote:
ping...

On 2014/4/10 18:48, One Thousand Gnomes wrote:

I think when we say irq_wake_enable() then based on underlying HW, it
should not turn off the irq if it is require for the wakeup. I mean it
need to be handle in the hw specific callbacks to keep enabling the
wakeup irq on suspend also.
I failed to see why this can't be generic to all of the GPIO buttons for
suspend wakeup. Do you see any cases broken by this proposal?

My point here is that if underlying HW needs to have irq enabled for wakup then it need to handle in centralized location i.e. the driver which is implementing it for the irq callbacks. Otherwise, we need to change this on multiple places who needs wakeups which is vast in nature like sd driver for sdcard insert/remove etc. almost all drivers which need wakeups through GPIOs.

For me, I have key which is interrupt based from PMIC, not based on GPIO
and on that if I set it to IRQF_EARLY_RESUME then it works fine.

IRQF_NO_SUSPEND - Do not disable this IRQ during suspend
IRQF_EARLY_RESUME - Resume IRQ early during syscore instead of at device
resume time.

IRQF_NO_SUSPEND is exactly what I want, instead of IRQF_EARLY_RESUME.
Can you please send your proposal/code to help me understand why this
has to hw specific and why IRQF_EARLY_RESUME is better than IRQF_NO_SUSPEND?

IRQF_EARLY_RESUME helps to re-enable mask or irq before parent interrupt resume and so parent isr handler sees the irq flag enabled when it try to scan source of interrupt. Otherwise parent isr handler treat this as spurious interrupt and does not call handler as irq flag disabled for that.

This only happen when on resume, parent inettrupt enabled before the child interrupt on irq resume. Because as soon as parent isr re-enabled on resume, its hadnler get called before actually child interrupt enabled. This is what I observed mainly on PMIC and its sub irq. Not observed on SoC level of interrupts.


-----------------------------------------------------------------------------------
This email message is for the sole use of the intended recipient(s) and may contain
confidential information.  Any unauthorized review, use, disclosure or distribution
is prohibited.  If you are not the intended recipient, please contact the sender by
reply email and destroy all copies of the original message.
-----------------------------------------------------------------------------------
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Media Devel]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Linux Wireless Networking]     [Linux Omap]

  Powered by Linux