Messages in this thread | | | From | "Rafael J. Wysocki" <> | Date | Fri, 23 Oct 2020 16:58:00 +0200 | Subject | Re: [PATCH] PM / s2idle: Export s2idle_set_ops |
| |
On Fri, Oct 23, 2020 at 4:48 PM Sudeep Holla <sudeep.holla@arm.com> wrote: > > On Fri, Oct 23, 2020 at 12:28:20PM +0800, claude yen wrote: > > On Thu, 2020-10-22 at 08:02 +0100, Sudeep Holla wrote: > > > On Thu, Oct 22, 2020 at 02:17:48PM +0800, Claude Yen wrote: > > > > As suspend_set_ops is exported in commit a5e4fd8783a2 > > > > ("PM / Suspend: Export suspend_set_ops, suspend_valid_only_mem"), > > > > exporting s2idle_set_ops to make kernel module setup s2idle ops too. > > > > > > > > In this way, kernel module can hook platform suspend > > > > functions regardless of Suspend-to-Ram(S2R) or > > > > Suspend-to-Idle(S2I) > > > > > > > > > > If this is for arm64 platform, then NACK. You must use PSCI and it will > > > set the ops and it can't be module. > > > > > > > PSCI uses suspend_set_ops instead. And suspend_set_ops has been > > exported years ago. > > > > Suspend-to_Idle(S2I) is another suspend method supported by linux > > kernel. The corresponding s2idle_ops can be hooked by s2idle_set_ops > > by underlying platforms. For example, S2I is now introduced into > > Mediatek SoC platforms. Besides, power management driver is built as > > kernel module. > > > > Mobile platforms are now call for kernel drivers to be kernel modules. > > This could help drivers easier to migrate to newer linux kernel. > > Ref: https://linuxplumbersconf.org/event/7/contributions/790/ > > > > I understand that. But I am interested in looking at the module you want > to use this and how that interacts with PSCI. If this is arm64, you must > use PSCI for system suspend and cpu suspend. What does this module do on > top of those is what I want to know. Please post that module or point > me if it is already present in the tree.
Regardless, generally speaking, patches that export stuff to modules without an in-the-tree user needing this are not applicable to the mainline kernel source tree IMV.
Cheers!
| |