Re: [PATCH V2 4/5] drivers/rtc/rtc-ds1307.c: Support optional wakeup interrupt source

From: Nishanth Menon
Date: Wed Jun 24 2015 - 12:27:50 EST


On 11:07-20150624, Nishanth Menon wrote:
> On 06/24/2015 10:36 AM, Grygorii Strashko wrote:
> > On 06/23/2015 07:15 PM, Nishanth Menon wrote:
> [...]
>
> >> + ds1307->wakeirq = of_irq_get(node, 1);
> >> + if (ds1307->wakeirq <= 0) {
> >> + if (ds1307->wakeirq == -EPROBE_DEFER) {
> >> + err = ds1307->wakeirq;
> >> + goto exit;
> >> + }
> >> + ds1307->wakeirq = 0;
> >> + goto no_irq;
> >> + }
> >
> > Might be above code could be done a little bit simpler?
> >
> > err = of_irq_get(node, 1);
> > if (err <= 0) {
> > if (err == -EPROBE_DEFER)
> > goto exit;
> > goto no_irq;
>
> I had considered it, but problem with this approach is that is err
> does not get reset back to 0 and probe will fail as it flows through
> the rest of the code.. which is not our intent.

I am wrong here - code just returns 0 and ignores err. So, how about
the following patch instead: (Alexandre, please do let me know if the
entire series needs to be reposted):
- improvement as suggested
- Picked up previous acks
- cleanup in probe does not need dev_pm_clear_wake_irq.
-->8<---