Re: [PATCH] PM / s2idle: Export s2idle_set_ops

From: Rafael J. Wysocki
Date: Fri Oct 23 2020 - 10:58:14 EST


On Fri, Oct 23, 2020 at 4:48 PM Sudeep Holla <sudeep.holla@xxxxxxx> 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!