Message ID | 20220130233718.21544-1-digetx@gmail.com (mailing list archive) |
---|---|
Headers | show |
Series | Introduce power-off+restart call chain API | expand |
31.01.2022 02:36, Dmitry Osipenko пишет: > Problem > ------- > > SoC devices require power-off call chaining functionality from kernel. > We have a widely used restart chaining provided by restart notifier API, > but nothing for power-off. > > Solution > -------- > > Introduce new API that provides both restart and power-off call chains. > > Why combine restart with power-off? Because drivers often do both. > More practical to have API that provides both under the same roof. > > The new API is designed with simplicity and extensibility in mind. > It's built upon the existing restart and reboot APIs. The simplicity > is in new helper functions that are convenient for drivers. The > extensibility is in the design that doesn't hardcode callback > arguments, making easy to add new parameters and remove old. > > This is a third attempt to introduce the new API. First was made by > Guenter Roeck back in 2014, second was made by Thierry Reding in 2017. > In fact the work didn't stop and recently arm_pm_restart() was removed > from v5.14 kernel, which was a part of preparatory work started by > Guenter Roeck. I took into account experience and ideas from the > previous attempts, extended and polished them. Rafael and all, do you see anything critical that needs to be improved in this v6? Will be great if you could take this patchset via the power tree if it looks okay, or give an ack.
On Tue, Feb 15, 2022 at 11:00 PM Dmitry Osipenko <digetx@gmail.com> wrote: > > 31.01.2022 02:36, Dmitry Osipenko пишет: > > Problem > > ------- > > > > SoC devices require power-off call chaining functionality from kernel. > > We have a widely used restart chaining provided by restart notifier API, > > but nothing for power-off. > > > > Solution > > -------- > > > > Introduce new API that provides both restart and power-off call chains. > > > > Why combine restart with power-off? Because drivers often do both. > > More practical to have API that provides both under the same roof. > > > > The new API is designed with simplicity and extensibility in mind. > > It's built upon the existing restart and reboot APIs. The simplicity > > is in new helper functions that are convenient for drivers. The > > extensibility is in the design that doesn't hardcode callback > > arguments, making easy to add new parameters and remove old. > > > > This is a third attempt to introduce the new API. First was made by > > Guenter Roeck back in 2014, second was made by Thierry Reding in 2017. > > In fact the work didn't stop and recently arm_pm_restart() was removed > > from v5.14 kernel, which was a part of preparatory work started by > > Guenter Roeck. I took into account experience and ideas from the > > previous attempts, extended and polished them. > > > Rafael and all, do you see anything critical that needs to be improved > in this v6? > > Will be great if you could take this patchset via the power tree if it > looks okay, or give an ack. I need some more time for this, sorry. I'm a bit concerned about seeing no response to this set from anyone. It looks like multiple platforms may be affected by it in principle, so doesn't anyone care?
On 2/16/22 13:25, Rafael J. Wysocki wrote: > On Tue, Feb 15, 2022 at 11:00 PM Dmitry Osipenko <digetx@gmail.com> wrote: >> >> 31.01.2022 02:36, Dmitry Osipenko пишет: >>> Problem >>> ------- >>> >>> SoC devices require power-off call chaining functionality from kernel. >>> We have a widely used restart chaining provided by restart notifier API, >>> but nothing for power-off. >>> >>> Solution >>> -------- >>> >>> Introduce new API that provides both restart and power-off call chains. >>> >>> Why combine restart with power-off? Because drivers often do both. >>> More practical to have API that provides both under the same roof. >>> >>> The new API is designed with simplicity and extensibility in mind. >>> It's built upon the existing restart and reboot APIs. The simplicity >>> is in new helper functions that are convenient for drivers. The >>> extensibility is in the design that doesn't hardcode callback >>> arguments, making easy to add new parameters and remove old. >>> >>> This is a third attempt to introduce the new API. First was made by >>> Guenter Roeck back in 2014, second was made by Thierry Reding in 2017. >>> In fact the work didn't stop and recently arm_pm_restart() was removed >>> from v5.14 kernel, which was a part of preparatory work started by >>> Guenter Roeck. I took into account experience and ideas from the >>> previous attempts, extended and polished them. >> >> >> Rafael and all, do you see anything critical that needs to be improved >> in this v6? >> >> Will be great if you could take this patchset via the power tree if it >> looks okay, or give an ack. > > I need some more time for this, sorry. > > I'm a bit concerned about seeing no response to this set from anyone. > > It looks like multiple platforms may be affected by it in principle, > so doesn't anyone care? I did looked into the whole patch set after applying it locally. While I agree a new combined API is good, and the beginning looked promising, after some time I started to ask myself if the whole infrastructure might be a little overdesigned. Anyway, I tested it and it works for me on parisc. And it's probably better than what we have today. Helge
16.02.2022 23:30, Helge Deller пишет: > On 2/16/22 13:25, Rafael J. Wysocki wrote: >> On Tue, Feb 15, 2022 at 11:00 PM Dmitry Osipenko <digetx@gmail.com> wrote: >>> >>> 31.01.2022 02:36, Dmitry Osipenko пишет: >>>> Problem >>>> ------- >>>> >>>> SoC devices require power-off call chaining functionality from kernel. >>>> We have a widely used restart chaining provided by restart notifier API, >>>> but nothing for power-off. >>>> >>>> Solution >>>> -------- >>>> >>>> Introduce new API that provides both restart and power-off call chains. >>>> >>>> Why combine restart with power-off? Because drivers often do both. >>>> More practical to have API that provides both under the same roof. >>>> >>>> The new API is designed with simplicity and extensibility in mind. >>>> It's built upon the existing restart and reboot APIs. The simplicity >>>> is in new helper functions that are convenient for drivers. The >>>> extensibility is in the design that doesn't hardcode callback >>>> arguments, making easy to add new parameters and remove old. >>>> >>>> This is a third attempt to introduce the new API. First was made by >>>> Guenter Roeck back in 2014, second was made by Thierry Reding in 2017. >>>> In fact the work didn't stop and recently arm_pm_restart() was removed >>>> from v5.14 kernel, which was a part of preparatory work started by >>>> Guenter Roeck. I took into account experience and ideas from the >>>> previous attempts, extended and polished them. >>> >>> >>> Rafael and all, do you see anything critical that needs to be improved >>> in this v6? >>> >>> Will be great if you could take this patchset via the power tree if it >>> looks okay, or give an ack. >> >> I need some more time for this, sorry. No worries, we're not in a rush. >> I'm a bit concerned about seeing no response to this set from anyone. >> >> It looks like multiple platforms may be affected by it in principle, >> so doesn't anyone care? The platforms that didn't provide ack so far are: SH, x86, IA64, MIPS and NDS32. At least x86 and MIPS are alive, not sure why maintainers didn't bother to answer yet. > I did looked into the whole patch set after applying it locally. > > While I agree a new combined API is good, and the beginning looked promising, > after some time I started to ask myself if the whole infrastructure might > be a little overdesigned. > > Anyway, I tested it and it works for me on parisc. > And it's probably better than what we have today. Thank you!