[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20200928113220.GA3987353@kuha.fi.intel.com>
Date: Mon, 28 Sep 2020 14:32:20 +0300
From: Heikki Krogerus <heikki.krogerus@...ux.intel.com>
To: "Rafael J. Wysocki" <rafael@...nel.org>
Cc: 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 Fri, Sep 25, 2020 at 05:54:37PM +0200, Rafael J. Wysocki wrote:
> 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.
True. I thought the pm_generic_*() functions will take care of also
the bus ops, but of course they don't do that.
> Also some comments might help to understand the design.
OK.
thanks,
--
heikki
Powered by blists - more mailing lists