[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAJZ5v0jT7Xdcm1WVvAV9okkoicnEsFEvnLSLLNx6eJHMNxwX+Q@mail.gmail.com>
Date: Fri, 25 Sep 2020 17:54:37 +0200
From: "Rafael J. Wysocki" <rafael@...nel.org>
To: Heikki Krogerus <heikki.krogerus@...ux.intel.com>
Cc: "Rafael J. Wysocki" <rafael@...nel.org>,
Felipe Balbi <balbi@...nel.org>,
Andy Shevchenko <andriy.shevchenko@...ux.intel.com>,
Sakari Ailus <sakari.ailus@...ux.intel.com>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
"open list:ULTRA-WIDEBAND (UWB) SUBSYSTEM:"
<linux-usb@...r.kernel.org>,
ACPI Devel Maling List <linux-acpi@...r.kernel.org>
Subject: Re: [PATCH 1/3] software node: Power management operations for
software nodes
On Tue, Aug 25, 2020 at 3:59 PM Heikki Krogerus
<heikki.krogerus@...ux.intel.com> wrote:
>
> Adding separate PM operations vector for the software nodes.
> The software node specific PM operations make it possible to
> handle most PM related quirks separately in their own
> functions instead of conditionally in the device driver's
> generic PM functions (and in some cases all over the
> driver). The software node specific PM operations will also
> reduce the need to pass platform data in some cases, for
> example from a core MFD driver to the child device drivers,
> as from now on the core MFD driver will be able to implement
> the PM quirks directly for the child devices without the
> need to touch the drivers of those child devices.
>
> If a software node includes the PM operations, those PM
> operations are always executed separately on top of the
> other PM operations of the device, so the software node will
> never replace any of the "normal" PM operations of the
> device (including the PM domain's operations, class's or
> bus's PM operations, the device drivers own operations, or
> any other).
This isn't consistent with the code changes AFAICS.
The swnode PM operations are implemented as a PM domain ops, which
means that they will be executed instead of any other existing ops
rather than in addition to those.
For example, software_node_prepare() will skip bus type ops if they
are present and there is no "primary" PM domain which seems not
intended.
Also some comments might help to understand the design.
Cheers!
Powered by blists - more mailing lists