Re: [PATCH 1/3] software node: Power management operations for software nodes

From: Rafael J. Wysocki
Date: Fri Sep 25 2020 - 11:54:51 EST


On Tue, Aug 25, 2020 at 3:59 PM Heikki Krogerus
<heikki.krogerus@xxxxxxxxxxxxxxx> 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!