All of lore.kernel.org
 help / color / mirror / Atom feed
From: Furquan Shaikh <furquan@chromium.org>
To: "Rafael J. Wysocki" <rafael@kernel.org>
Cc: Mark Brown <broonie@kernel.org>,
	"Rafael J . Wysocki" <rjw@rjwysocki.net>,
	Liam Girdwood <lgirdwood@gmail.com>,
	Tony Lindgren <tony@atomide.com>,
	Dmitry Torokhov <dmitry.torokhov@gmail.com>,
	Len Brown <lenb@kernel.org>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>,
	Hanjun Guo <hanjun.guo@linaro.org>,
	Will Deacon <will.deacon@arm.com>, Rob Herring <robh@kernel.org>,
	Sathyanarayana Nujella <sathyanarayana.nujella@intel.com>,
	Heikki Krogerus <heikki.krogerus@linux.intel.com>,
	Adam Thomson <Adam.Thomson.Opensource@diasemi.com>,
	Linus Walleij <linus.walleij@linaro.org>,
	Alexandre Courbot <gnurou@gmail.com>,
	linux-gpio@vger.kernel.org,
	ACPI Devel Maling List <linux-acpi@vger.kernel.org>,
	Linux
Subject: Re: [PATCH 0/7] Implement generic regulator constraints parsing for ACPI and OF
Date: Wed, 25 Jan 2017 08:56:42 -0800	[thread overview]
Message-ID: <CAEGmHFG1d24k3+qT_aoqRmPFzciAbNObCnzY1d8pQWjEW+3HxA@mail.gmail.com> (raw)
In-Reply-To: <CAJZ5v0hHSadH1KLOGg029VU2qrY900ak0=NnH5HPBKZ=FpB7HQ@mail.gmail.com>

On Wed, Jan 25, 2017 at 4:55 AM, Rafael J. Wysocki <rafael@kernel.org> wrote:
>
> On Wed, Jan 25, 2017 at 1:49 PM, Mark Brown <broonie@kernel.org> wrote:
> > On Tue, Jan 24, 2017 at 04:06:34PM -0800, Furquan Shaikh wrote:
> >
> >> Since regulator properties remain the same across OF and ACPI
> >> regulators, this series of patches provides common routine for
> >> obtaining regulation constraints from device tree and ACPI nodes. In
> >
> > As Lorenzo explained this is really not a good idea, ACPI has a power
> > management model which is just being ignored here.  If you're producing
> > systems using ACPI you really need to use ACPI in a joined up fashion
> > rather than just blindly importing all DT bindings into ACPI.  While
> > there are many areas where ACPI just doesn't do anything and as a result
> > it does make sense to reuse existing DT bindings there are also plenty
> > of areas where work has been done on the ACPI side.  Regulators and
> > power management are definitely one of those areas.
>
> This is exactly right. :-)
>
> Thanks,
> Rafael

I understand that ACPI provides its own bindings to allow firmware to
control power management and thus regulators have been a part of the
firmware control. However, there are use cases where the kernel driver
wishes to control the regulator to manage power to the device
irrespective of the way regulator is passed in (ACPI/OF).

That is the reason why the recent change to add ACPI support to fixed
regulators was done
(https://github.com/torvalds/linux/blob/master/drivers/regulator/fixed.c#L100).
It needs regulators for USB driver. Similarly, other drivers like ELAN
touchscreen that plan to control power to the device in a generic way
irrespective of OF/ACPI need to control regulators in kernel itself.
The above change for adding ACPI support to fixed regulators is
currently parsing only limited parameters and also does not work the
same way for ACPI and OF, though it ends to introduce the regulators
in a way similar to OF.

We need to support existing drivers and use cases for power management
in both OF and ACPI environments (keeping in mind that suspend to idle
bypasses parts of firmware) without needing to change all the drivers.
How can we achieve this?

WARNING: multiple messages have this Message-ID (diff)
From: Furquan Shaikh <furquan@chromium.org>
To: "Rafael J. Wysocki" <rafael@kernel.org>
Cc: Mark Brown <broonie@kernel.org>,
	"Rafael J . Wysocki" <rjw@rjwysocki.net>,
	Liam Girdwood <lgirdwood@gmail.com>,
	Tony Lindgren <tony@atomide.com>,
	Dmitry Torokhov <dmitry.torokhov@gmail.com>,
	Len Brown <lenb@kernel.org>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>,
	Hanjun Guo <hanjun.guo@linaro.org>,
	Will Deacon <will.deacon@arm.com>, Rob Herring <robh@kernel.org>,
	Sathyanarayana Nujella <sathyanarayana.nujella@intel.com>,
	Heikki Krogerus <heikki.krogerus@linux.intel.com>,
	Adam Thomson <Adam.Thomson.Opensource@diasemi.com>,
	Linus Walleij <linus.walleij@linaro.org>,
	Alexandre Courbot <gnurou@gmail.com>,
	linux-gpio@vger.kernel.org,
	ACPI Devel Maling List <linux-acpi@vger.kernel.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Linux OMAP Mailing List <linux-omap@vger.kernel.org>,
	Mark Rutland <mark.rutland@arm.com>,
	Aaron Durbin <adurbin@chromium.org>,
	dlaurie@chromium.org
Subject: Re: [PATCH 0/7] Implement generic regulator constraints parsing for ACPI and OF
Date: Wed, 25 Jan 2017 08:56:42 -0800	[thread overview]
Message-ID: <CAEGmHFG1d24k3+qT_aoqRmPFzciAbNObCnzY1d8pQWjEW+3HxA@mail.gmail.com> (raw)
In-Reply-To: <CAJZ5v0hHSadH1KLOGg029VU2qrY900ak0=NnH5HPBKZ=FpB7HQ@mail.gmail.com>

On Wed, Jan 25, 2017 at 4:55 AM, Rafael J. Wysocki <rafael@kernel.org> wrote:
>
> On Wed, Jan 25, 2017 at 1:49 PM, Mark Brown <broonie@kernel.org> wrote:
> > On Tue, Jan 24, 2017 at 04:06:34PM -0800, Furquan Shaikh wrote:
> >
> >> Since regulator properties remain the same across OF and ACPI
> >> regulators, this series of patches provides common routine for
> >> obtaining regulation constraints from device tree and ACPI nodes. In
> >
> > As Lorenzo explained this is really not a good idea, ACPI has a power
> > management model which is just being ignored here.  If you're producing
> > systems using ACPI you really need to use ACPI in a joined up fashion
> > rather than just blindly importing all DT bindings into ACPI.  While
> > there are many areas where ACPI just doesn't do anything and as a result
> > it does make sense to reuse existing DT bindings there are also plenty
> > of areas where work has been done on the ACPI side.  Regulators and
> > power management are definitely one of those areas.
>
> This is exactly right. :-)
>
> Thanks,
> Rafael

I understand that ACPI provides its own bindings to allow firmware to
control power management and thus regulators have been a part of the
firmware control. However, there are use cases where the kernel driver
wishes to control the regulator to manage power to the device
irrespective of the way regulator is passed in (ACPI/OF).

That is the reason why the recent change to add ACPI support to fixed
regulators was done
(https://github.com/torvalds/linux/blob/master/drivers/regulator/fixed.c#L100).
It needs regulators for USB driver. Similarly, other drivers like ELAN
touchscreen that plan to control power to the device in a generic way
irrespective of OF/ACPI need to control regulators in kernel itself.
The above change for adding ACPI support to fixed regulators is
currently parsing only limited parameters and also does not work the
same way for ACPI and OF, though it ends to introduce the regulators
in a way similar to OF.

We need to support existing drivers and use cases for power management
in both OF and ACPI environments (keeping in mind that suspend to idle
bypasses parts of firmware) without needing to change all the drivers.
How can we achieve this?

  reply	other threads:[~2017-01-25 16:56 UTC|newest]

Thread overview: 67+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-01-25  0:06 [PATCH 0/7] Implement generic regulator constraints parsing for ACPI and OF Furquan Shaikh
2017-01-25  0:06 ` [PATCH 1/7] drivers/regulator: Rename of_map_mode to map_mode in regulator desc Furquan Shaikh
2017-01-25  0:06 ` [PATCH 2/7] ACPI / property: have acpi_get_next_subnode take fwnode_handle Furquan Shaikh
2017-01-25  0:06   ` Furquan Shaikh
2017-01-25 11:00   ` kbuild test robot
2017-01-25 11:00     ` kbuild test robot
2017-01-25  0:06 ` [PATCH 3/7] device property: introduce fwnode_for_each_child() Furquan Shaikh
2017-01-25  0:06   ` Furquan Shaikh
2017-01-25  0:06 ` [PATCH 4/7] device property: introduce fwnode_get_named_child_node() Furquan Shaikh
2017-01-25  0:06   ` Furquan Shaikh
2017-01-25  0:06 ` [PATCH 5/7] device property: Export dev_fwnode Furquan Shaikh
2017-01-25  0:06 ` [PATCH 6/7] drivers/gpio: Add and export gpiod_lookup[_index] Furquan Shaikh
2017-01-25  0:06   ` Furquan Shaikh
2017-01-25 11:18   ` kbuild test robot
2017-01-25 11:18     ` kbuild test robot
2017-01-26 15:24   ` Linus Walleij
2017-01-26 15:24     ` Linus Walleij
2017-01-25  0:06 ` [PATCH 7/7] drivers/regulator: Initialize regulator init data for ACPI regulators Furquan Shaikh
2017-01-25 12:29 ` [PATCH 0/7] Implement generic regulator constraints parsing for ACPI and OF Lorenzo Pieralisi
2017-01-25 12:49 ` Mark Brown
2017-01-25 12:49   ` Mark Brown
2017-01-25 12:55   ` Rafael J. Wysocki
2017-01-25 12:55     ` Rafael J. Wysocki
2017-01-25 16:56     ` Furquan Shaikh [this message]
2017-01-25 16:56       ` Furquan Shaikh
2017-01-25 18:23       ` Mark Rutland
2017-01-25 18:23         ` Mark Rutland
2017-01-25 18:29         ` Mark Brown
2017-01-25 18:29           ` Mark Brown
2017-01-25 18:34           ` Mark Rutland
2017-01-25 18:34             ` Mark Rutland
2017-01-25 18:49             ` Mark Brown
2017-01-25 18:49               ` Mark Brown
2017-01-25 19:39               ` Mark Rutland
2017-01-25 19:39                 ` Mark Rutland
2017-01-25 18:44           ` Dmitry Torokhov
2017-01-25 18:44             ` Dmitry Torokhov
2017-01-25 19:27             ` Dmitry Torokhov
2017-01-25 19:27               ` Dmitry Torokhov
2017-01-25 20:39               ` Mark Brown
2017-01-25 20:39                 ` Mark Brown
2017-01-25 21:17                 ` Dmitry Torokhov
2017-01-25 21:17                   ` Dmitry Torokhov
2017-01-25 21:30                   ` Mark Brown
2017-01-25 21:30                     ` Mark Brown
2017-01-25 22:05                     ` Dmitry Torokhov
2017-01-25 22:05                       ` Dmitry Torokhov
2017-01-25 22:25                       ` Mark Brown
2017-01-25 22:25                         ` Mark Brown
2017-01-25 21:44               ` Al Stone
2017-01-25 21:44                 ` Al Stone
2017-01-25 23:27                 ` Dmitry Torokhov
2017-01-25 23:27                   ` Dmitry Torokhov
2017-01-26  0:15                   ` Al Stone
2017-01-26  0:15                     ` Al Stone
2017-01-26  0:33                     ` Dmitry Torokhov
2017-01-26  0:33                       ` Dmitry Torokhov
2017-01-26 10:35                       ` Rafael J. Wysocki
2017-01-26 10:35                         ` Rafael J. Wysocki
2017-02-04 16:08                         ` Mark Brown
2017-02-04 16:08                           ` Mark Brown
2017-01-25 19:21           ` Lorenzo Pieralisi
2017-01-25 19:21             ` Lorenzo Pieralisi
2017-01-25 20:40             ` Mark Brown
2017-01-25 20:40               ` Mark Brown
2017-01-25 18:25       ` Mark Brown
2017-01-25 18:25         ` Mark Brown

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAEGmHFG1d24k3+qT_aoqRmPFzciAbNObCnzY1d8pQWjEW+3HxA@mail.gmail.com \
    --to=furquan@chromium.org \
    --cc=Adam.Thomson.Opensource@diasemi.com \
    --cc=broonie@kernel.org \
    --cc=dmitry.torokhov@gmail.com \
    --cc=gnurou@gmail.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=hanjun.guo@linaro.org \
    --cc=heikki.krogerus@linux.intel.com \
    --cc=lenb@kernel.org \
    --cc=lgirdwood@gmail.com \
    --cc=linus.walleij@linaro.org \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-gpio@vger.kernel.org \
    --cc=lorenzo.pieralisi@arm.com \
    --cc=rafael@kernel.org \
    --cc=rjw@rjwysocki.net \
    --cc=robh@kernel.org \
    --cc=sathyanarayana.nujella@intel.com \
    --cc=tony@atomide.com \
    --cc=will.deacon@arm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.