On Fri, Dec 18, 2015 at 11:44 AM, Jon Hunter <jonathanh@xxxxxxxxxx> wrote: > On 17/12/15 13:32, Linus Walleij wrote: >> On Thu, Dec 17, 2015 at 11:48 AM, Jon Hunter <jonathanh@xxxxxxxxxx> wrote: >> >>> Add a driver for the Tegra-AGIC interrupt controller which is compatible >>> with the ARM GIC-400 interrupt controller. >> (...) >>> +static const struct dev_pm_ops gic_pm_ops = { >>> + SET_RUNTIME_PM_OPS(gic_runtime_suspend, >>> + gic_runtime_resume, NULL) >>> + SET_SYSTEM_SLEEP_PM_OPS(gic_suspend, gic_resume) >>> +}; >> >> Now you do what I commented on in the earlier patch: assign >> the runtime PM functions to normal suspend/resume. >> >> This will have the effect of inhibiting any IRQs marked for >> wakeup on the GIC, even if you just want to go to sleep until >> something happens, will it not? >> >> You should turn on the alarm clock before going to bed, not >> turn it off, as figure of speak ... > > Yes I am alway having problems with my alarm, may be this is why ;-) > > I see what you are saying, so if there are any wake-ups enabled then we > should not suspend the chip. Right? Yep, so I think you should just wrap the normal suspend functions into some function that check if we have some wakeup active and then just return 0, else if everything is clear, call the same runtime PM hooks, and it will work nicely I think. IIUC the wakeup flag is only for the suspend/resume/sleep case so this should be enough. Yours, Linus Walleij -- To unsubscribe from this list: send the line "unsubscribe linux-tegra" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html