On Wed, Apr 09, 2014 at 10:16:11AM -0700, Loc Ho wrote: > >> +static int xgene_rtc_suspend(struct device *dev)
> >> + } else {
> >> + xgene_rtc_alarm_irq_enable(dev, 0);
> >> + clk_disable(pdata->clk);
> >> + }
> > Why does the driver only disable the clock over suspend rather than also
> > unpreparing it?
> This was modeled after rtc-spear.c. Is this or rtc-spear in-correct?
They're both broken, looks like a bad conversion to prepare clocks.
> >> + if (device_may_wakeup(&pdev->dev)) {
> >> + if (pdata->irq_wake) {
> >> + disable_irq_wake(irq);
> >> + pdata->irq_wake = 0;
> >> + }
> >> + } else {
> >> + clk_enable(pdata->clk);
> > It's also not checking for errors here.
> This was also modeled after rtc-spear. I guess I can check and print
> an warning but don't believe it matter.
You should return an error if the operation failed.
> >> + xgene_rtc_alarm_irq_enable(dev, 1);
> >> + }
> > Won't this unconditionally enable the interrupt regardless of what the
> > setting was prior to suspend?
> This was also modeled after rtc-spear.c. Is this or rtc-spear in-correct?
I would expct they're both broken here.
signature.asc
Description: Digital signature
