Re: Add IRQS_PENDING for nested and simple irq handler as well
From: Ning Jiang
Date: Tue May 22 2012 - 07:14:41 EST
2012/5/22 Thomas Gleixner <tglx@xxxxxxxxxxxxx>:
> On Tue, 22 May 2012, Ning Jiang wrote:
>
> Please do not top post.
>
>> Sorry that I do not make myself clear.
>>
>> First, we should keep all the handle_*_irq behave in pretty much the
>> same way even just for the beauty of it. Every interrupt disabled in
>> suspend operation needs the ability to abort suspend if there is a
>> pending irq.
>>
>> Second, let's take look at a example:
>>
>> |
>> +---------+
>> | INTC |
>> +---------+
>> | GPIO_IRQ
>> +------------+
>> | gpio-exp |
>> +------------+
>> | |
>> GPIO0_IRQ GPIO1_IRQ
>>
>> In the above diagram, gpio expander has irq number GPIO_IRQ, it is
>> connected with two sub GPIO pins, GPIO0 and GPIO1.
>>
>> During suspend, normally we want to set IRQF_NO_SUSPEND for GPIO_IRQ
>> so that gpio expander driver can handle the sub irq GPIO0_IRQ and
>> GPIO1_IRQ, and these two irqs themselves are handled by simple or
>> nested irq in some drivers(typically gpio and mfd driver), if they are
>> disabled during suspend, we want them to be able to abort suspend too.
>
> Ok, that makes a lot of sense and should be part of the changelog, so
> we know in a year from now why we did this change. Care to resend with
> a fixed up changelog ?
>
> Thanks,
>
> tglx
Thanks for your guidance on commit changelog. It's really helpful.
Here is the comments formatted patch, please help to review.