All of lore.kernel.org
 help / color / mirror / Atom feed
From: Stephen Warren <swarren@wwwdotorg.org>
To: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: Alex Courbot <acourbot@nvidia.com>,
	"linux-fbdev@vger.kernel.org" <linux-fbdev@vger.kernel.org>,
	Stephen Warren <swarren@nvidia.com>,
	"linux-pm@vger.kernel.org" <linux-pm@vger.kernel.org>,
	Leela Krishna Amudala <l.krishna@samsung.com>,
	"linux-doc@vger.kernel.org" <linux-doc@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Rob Herring <rob.herring@calxeda.com>,
	Anton Vorontsov <cbou@mail.ru>,
	Tomi Valkeinen <tomi.valkeinen@ti.com>,
	"linux-tegra@vger.kernel.org" <linux-tegra@vger.kernel.org>,
	David Woodhouse <dwmw2@infradead.org>,
	"devicetree-discuss@lists.ozlabs.org"
	<devicetree-discuss@lists.ozlabs.org>
Subject: Re: [PATCH v6 0/4] Runtime Interpreted Power Sequences
Date: Thu, 13 Sep 2012 15:24:53 +0000	[thread overview]
Message-ID: <5051FAC5.40501@wwwdotorg.org> (raw)
In-Reply-To: <20120913072943.GB20959@opensource.wolfsonmicro.com>

On 09/13/2012 01:29 AM, Mark Brown wrote:
> On Thu, Sep 13, 2012 at 04:26:34PM +0900, Alex Courbot wrote:
>> On Thursday 13 September 2012 15:19:30 Mark Brown wrote:
>>>> On Thursday 13 September 2012 14:25:53 Mark Brown wrote:
>>>>> It would be sensible to make sure that the framework is done in such a
>>>>> way that drivers can use it - there will be drivers (perhaps not display
>>>>> ones) that have a known power sequence and which could benefit from the
>>>>> ability to use library code to implement it based on the user simply
>>>>> supplying named resources.
> 
>>>> Not sure I understand what you mean, but things should be working this way
>>>> already - regulators and PWMs are acquired by name using the standard
>>>> regulator_get() and pwm_get() functions. GPIOs do not, AFAIK, have a way
>>>> to be referenced by name so their number is used instead.
> 
>>> Right, but the sequencing for enabling them is currently open coded in
>>> each driver.
> 
>> Mmm then I'm afraid I don't see what you wanted to say initially - could you 
>> elaborate?
> 
> The driver knows the power sequence.  Having to type the same sequence
> into the DT or platform data for each board using the device wouuld be
> retarded so we need the drivers to be able to give the sequence to the
> library if they're going to be able to reuse it (which is a lot of what
> Tomi is talking about).

I believe that's trivial to implement. The relevant function is:

struct power_seq_set *devm_power_seq_set_build(struct device *dev,
		   struct platform_power_seq_set *pseq);

It's up to the driver whether pseq comes from platform data or is
hard-coded into the driver (or not provided at all, for the DT case).
So, the only change needed to convert a "hard-coded" driver to this API
is to convert the current custom data structure (or code) that describes
the sequence into a struct platform_power_seq_set.

WARNING: multiple messages have this Message-ID (diff)
From: Stephen Warren <swarren@wwwdotorg.org>
To: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: Alex Courbot <acourbot@nvidia.com>,
	"linux-fbdev@vger.kernel.org" <linux-fbdev@vger.kernel.org>,
	Stephen Warren <swarren@nvidia.com>,
	"linux-pm@vger.kernel.org" <linux-pm@vger.kernel.org>,
	Leela Krishna Amudala <l.krishna@samsung.com>,
	"linux-doc@vger.kernel.org" <linux-doc@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Rob Herring <rob.herring@calxeda.com>,
	Anton Vorontsov <cbou@mail.ru>,
	Tomi Valkeinen <tomi.valkeinen@ti.com>,
	"linux-tegra@vger.kernel.org" <linux-tegra@vger.kernel.org>,
	David Woodhouse <dwmw2@infradead.org>,
	"devicetree-discuss@lists.ozlabs.org"
	<devicetree-discuss@lists.ozlabs.org>
Subject: Re: [PATCH v6 0/4] Runtime Interpreted Power Sequences
Date: Thu, 13 Sep 2012 09:24:53 -0600	[thread overview]
Message-ID: <5051FAC5.40501@wwwdotorg.org> (raw)
In-Reply-To: <20120913072943.GB20959@opensource.wolfsonmicro.com>

On 09/13/2012 01:29 AM, Mark Brown wrote:
> On Thu, Sep 13, 2012 at 04:26:34PM +0900, Alex Courbot wrote:
>> On Thursday 13 September 2012 15:19:30 Mark Brown wrote:
>>>> On Thursday 13 September 2012 14:25:53 Mark Brown wrote:
>>>>> It would be sensible to make sure that the framework is done in such a
>>>>> way that drivers can use it - there will be drivers (perhaps not display
>>>>> ones) that have a known power sequence and which could benefit from the
>>>>> ability to use library code to implement it based on the user simply
>>>>> supplying named resources.
> 
>>>> Not sure I understand what you mean, but things should be working this way
>>>> already - regulators and PWMs are acquired by name using the standard
>>>> regulator_get() and pwm_get() functions. GPIOs do not, AFAIK, have a way
>>>> to be referenced by name so their number is used instead.
> 
>>> Right, but the sequencing for enabling them is currently open coded in
>>> each driver.
> 
>> Mmm then I'm afraid I don't see what you wanted to say initially - could you 
>> elaborate?
> 
> The driver knows the power sequence.  Having to type the same sequence
> into the DT or platform data for each board using the device wouuld be
> retarded so we need the drivers to be able to give the sequence to the
> library if they're going to be able to reuse it (which is a lot of what
> Tomi is talking about).

I believe that's trivial to implement. The relevant function is:

struct power_seq_set *devm_power_seq_set_build(struct device *dev,
		   struct platform_power_seq_set *pseq);

It's up to the driver whether pseq comes from platform data or is
hard-coded into the driver (or not provided at all, for the DT case).
So, the only change needed to convert a "hard-coded" driver to this API
is to convert the current custom data structure (or code) that describes
the sequence into a struct platform_power_seq_set.

  reply	other threads:[~2012-09-13 15:24 UTC|newest]

Thread overview: 112+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-09-12  9:57 [PATCH v6 0/4] Runtime Interpreted Power Sequences Alexandre Courbot
2012-09-12  9:57 ` Alexandre Courbot
2012-09-12  9:57 ` Alexandre Courbot
     [not found] ` <1347443867-18868-1-git-send-email-acourbot-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2012-09-12  9:57   ` [PATCH v6 1/4] " Alexandre Courbot
2012-09-12  9:57     ` Alexandre Courbot
2012-09-12  9:57     ` Alexandre Courbot
2012-09-12 22:07     ` Stephen Warren
2012-09-12 22:07       ` Stephen Warren
2012-09-13  6:02       ` Alex Courbot
2012-09-13  6:02         ` Alex Courbot
2012-09-13 15:44         ` Stephen Warren
2012-09-13 15:44           ` Stephen Warren
2012-09-13 15:44           ` Stephen Warren
     [not found]     ` <1347443867-18868-2-git-send-email-acourbot-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2012-09-13  5:45       ` Tomi Valkeinen
2012-09-13  5:45         ` Tomi Valkeinen
2012-09-13  5:45         ` Tomi Valkeinen
2012-09-13  6:08         ` Alex Courbot
2012-09-13  6:08           ` Alex Courbot
2012-09-13  6:22           ` Tomi Valkeinen
2012-09-13  6:22             ` Tomi Valkeinen
2012-09-13  6:36             ` Alex Courbot
2012-09-13  6:36               ` Alex Courbot
2012-09-13  6:54               ` Tomi Valkeinen
2012-09-13  6:54                 ` Tomi Valkeinen
2012-09-13  6:54                 ` Tomi Valkeinen
2012-09-13  7:00                 ` Sascha Hauer
2012-09-13  7:00                   ` Sascha Hauer
2012-09-13  7:00                   ` Sascha Hauer
     [not found]                   ` <20120913070012.GC6180-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2012-09-13  7:03                     ` Tomi Valkeinen
2012-09-13  7:03                       ` Tomi Valkeinen
2012-09-13  7:03                       ` Tomi Valkeinen
2012-09-13  7:18                       ` Sascha Hauer
2012-09-13  7:18                         ` Sascha Hauer
2012-09-13  7:18                         ` Sascha Hauer
     [not found]                         ` <20120913071829.GE6180-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2012-09-13  7:27                           ` Tomi Valkeinen
2012-09-13  7:27                             ` Tomi Valkeinen
2012-09-13  7:27                             ` Tomi Valkeinen
2012-09-13  7:21                       ` Alex Courbot
2012-09-13  7:21                         ` Alex Courbot
2012-09-13  7:29                       ` Thierry Reding
2012-09-13  7:29                         ` Thierry Reding
2012-09-13  7:29                         ` Thierry Reding
2012-09-13  7:50                         ` Sascha Hauer
2012-09-13  7:50                           ` Sascha Hauer
2012-09-13  8:21                           ` Alex Courbot
2012-09-13  8:21                             ` Alex Courbot
2012-09-13  8:26                             ` Thierry Reding
2012-09-13  8:26                               ` Thierry Reding
     [not found]                         ` <20120913072920.GA11459-RM9K5IK7kjIQXX3q8xo1gnVAuStQJXxyR5q1nwbD4aMs9pC9oP6+/A@public.gmane.org>
2012-09-13  8:00                           ` Tomi Valkeinen
2012-09-13  8:00                             ` Tomi Valkeinen
2012-09-13  8:00                             ` Tomi Valkeinen
2012-09-13  8:32                             ` Thierry Reding
2012-09-13  8:32                               ` Thierry Reding
2012-09-13  8:32                               ` Thierry Reding
2012-09-13  7:08                 ` Alex Courbot
2012-09-13  7:08                   ` Alex Courbot
2012-09-13  7:08                   ` Alex Courbot
2012-09-13 15:37                   ` Stephen Warren
2012-09-13 15:37                     ` Stephen Warren
2012-09-13  8:09     ` Mark Brown
2012-09-13  8:09       ` Mark Brown
2012-09-12  9:57   ` [PATCH v6 3/4] tegra: dt: add label to tegra20's PWM Alexandre Courbot
2012-09-12  9:57     ` Alexandre Courbot
2012-09-12  9:57     ` Alexandre Courbot
2012-09-12  9:57 ` [PATCH v6 2/4] pwm_backlight: use power sequences Alexandre Courbot
2012-09-12  9:57   ` Alexandre Courbot
2012-09-12  9:57   ` Alexandre Courbot
2012-09-12 22:15   ` Stephen Warren
2012-09-12 22:15     ` Stephen Warren
2012-09-12  9:57 ` [PATCH v6 4/4] tegra: ventana: add pwm backlight DT nodes Alexandre Courbot
2012-09-12  9:57   ` Alexandre Courbot
2012-09-12  9:57   ` Alexandre Courbot
     [not found]   ` <1347443867-18868-5-git-send-email-acourbot-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2012-09-12 21:23     ` Stephen Warren
2012-09-12 21:23       ` Stephen Warren
2012-09-12 21:23       ` Stephen Warren
2012-09-12 21:27 ` [PATCH v6 0/4] Runtime Interpreted Power Sequences Stephen Warren
2012-09-12 21:27   ` Stephen Warren
     [not found]   ` <5050FE28.2080502-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2012-09-12 21:33     ` Anton Vorontsov
2012-09-12 21:33       ` Anton Vorontsov
2012-09-12 21:33       ` Anton Vorontsov
2012-09-13  5:53       ` Alex Courbot
2012-09-13  5:53         ` Alex Courbot
2012-09-13  5:50 ` Tomi Valkeinen
2012-09-13  5:50   ` Tomi Valkeinen
2012-09-13  6:23   ` Alex Courbot
2012-09-13  6:23     ` Alex Courbot
2012-09-13  6:25     ` Mark Brown
2012-09-13  6:25       ` Mark Brown
2012-09-13  6:42       ` Alex Courbot
2012-09-13  6:42         ` Alex Courbot
2012-09-13  7:19         ` Mark Brown
2012-09-13  7:19           ` Mark Brown
2012-09-13  7:19           ` Mark Brown
2012-09-13  7:26           ` Alex Courbot
2012-09-13  7:26             ` Alex Courbot
2012-09-13  7:29             ` Mark Brown
2012-09-13  7:29               ` Mark Brown
2012-09-13  7:29               ` Mark Brown
2012-09-13 15:24               ` Stephen Warren [this message]
2012-09-13 15:24                 ` Stephen Warren
2012-09-19  3:01                 ` Mark Brown
2012-09-19  3:01                   ` Mark Brown
     [not found]                 ` <5051FAC5.40501-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2012-10-03  8:24                   ` Alex Courbot
2012-10-03  8:24                     ` Alex Courbot
2012-10-03  8:24                     ` Alex Courbot
     [not found]                     ` <506BF62F.6040308-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2012-10-03 15:30                       ` Stephen Warren
2012-10-03 15:30                         ` Stephen Warren
2012-10-03 15:30                         ` Stephen Warren
2012-09-13  6:42     ` Tomi Valkeinen
2012-09-13  6:42       ` Tomi Valkeinen
2012-09-13  6:48     ` Tomi Valkeinen
2012-09-13  6:48       ` Tomi Valkeinen

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=5051FAC5.40501@wwwdotorg.org \
    --to=swarren@wwwdotorg.org \
    --cc=acourbot@nvidia.com \
    --cc=broonie@opensource.wolfsonmicro.com \
    --cc=cbou@mail.ru \
    --cc=devicetree-discuss@lists.ozlabs.org \
    --cc=dwmw2@infradead.org \
    --cc=l.krishna@samsung.com \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-fbdev@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=linux-tegra@vger.kernel.org \
    --cc=rob.herring@calxeda.com \
    --cc=swarren@nvidia.com \
    --cc=tomi.valkeinen@ti.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.