Hi Ulf, On Wed, Nov 8, 2017 at 4:15 PM, Ulf Hansson <ulf.hansson@xxxxxxxxxx> wrote: > The generic problem this series is trying to solve, is that for some bus types > and PM domains, it's not sufficient to only check the return value from > device_may_wakeup(), to fully understand how to treat the device during system > suspend. > > One particular case that suffers from this, is the generic PM domain (aka genpd) > and that is taken care of in the final change in this series. > > The special case this series address, is to enable drivers to instruct bus types > and PM domains, that the device need to stay powered in case wakeup signals > is enabled for it. Thanks for your patches! They look good to me, hence my Reviewed-by. > Geert Uytterhoeven, has been working on some related problems for some Renesas > SoCs [1], to be able to properly configure WakeOnLAN, for some ethernet > devices/drivers, which are used together with genpd. My intent is that this > series enables a solution for those problems. > > [1] > https://www.spinics.net/lists/linux-renesas-soc/msg19319.html While your new WAKEUP_POWERED definitely serves a purpose, I don't think it's the right solution for the Renesas SoCs. I can just set the recently added flag GENPD_FLAG_ACTIVE_WAKEUP in all Renesas clock/power domain drivers to fix the issue for all Renesas drivers. After all, all devices in the clock/power domain must be kept enabled if they're a wakeup source, or part of the wakeup path. Not using GENPD_FLAG_ACTIVE_WAKEUP means I would have to add the WAKEUP_POWERED flag to every single driver that can either be a wakeup source itself, or be part of the wakeup path. Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds