From: Grygorii Strashko <grygorii.strashko@ti.com>
To: Ulf Hansson <ulf.hansson@linaro.org>,
Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Santosh Shilimkar <santosh.shilimkar@gmail.com>,
ssantosh@kernel.org, "Rafael J. Wysocki" <rjw@rjwysocki.net>,
Kevin Hilman <khilman@linaro.org>,
Geert Uytterhoeven <geert+renesas@glider.be>,
"linux-pm@vger.kernel.org" <linux-pm@vger.kernel.org>,
Rob Herring <robh+dt@kernel.org>,
Grant Likely <grant.likely@secretlab.ca>,
"linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>
Subject: Re: [PATCH v2 2/3] ARM: keystone: pm: switch to use generic pm domains
Date: Thu, 23 Oct 2014 17:37:31 +0300 [thread overview]
Message-ID: <544912AB.3050801@ti.com> (raw)
In-Reply-To: <CAPDyKFrVCczc+fSy1ax4XinhB4SMfZZWP=d4QdY5Lv4zjOrHPA@mail.gmail.com>
Hi Ulf,
On 10/23/2014 11:11 AM, Ulf Hansson wrote:
> On 22 October 2014 17:44, Geert Uytterhoeven <geert@linux-m68k.org> wrote:
>> On Wed, Oct 22, 2014 at 5:28 PM, Ulf Hansson <ulf.hansson@linaro.org> wrote:
>>> On 22 October 2014 17:09, Geert Uytterhoeven <geert@linux-m68k.org> wrote:
>>>> On Wed, Oct 22, 2014 at 5:01 PM, Ulf Hansson <ulf.hansson@linaro.org> wrote:
>>>>>>>> +void keystone_pm_domain_attach_dev(struct device *dev)
>>>>>>>> {
>>>>>>>> + struct clk *clk;
>>>>>>>> int ret;
>>>>>>>> + int i = 0;
>>>>>>>>
>>>>>>>> dev_dbg(dev, "%s\n", __func__);
>>>>>>>>
>>>>>>>> - ret = pm_generic_runtime_suspend(dev);
>>>>>>>> - if (ret)
>>>>>>>> - return ret;
>>>>>>>> -
>>>>>>>> - ret = pm_clk_suspend(dev);
>>>>>>>> + ret = pm_clk_create(dev);
>>>>>>>> if (ret) {
>>>>>>>> - pm_generic_runtime_resume(dev);
>>>>>>>> - return ret;
>>>>>>>> + dev_err(dev, "pm_clk_create failed %d\n", ret);
>>>>>>>> + return;
>>>>>>>> + };
>>>>>>>> +
>>>>>>>> + while ((clk = of_clk_get(dev->of_node, i++)) && !IS_ERR(clk)) {
>>>>>>>> + ret = pm_clk_add_clk(dev, clk);
>>>>>>>> + if (ret) {
>>>>>>>> + dev_err(dev, "pm_clk_add_clk failed %d\n", ret);
>>>>>>>> + goto clk_err;
>>>>>>>> + };
>>>>>>>> }
>>>>>>>>
>>>>>>>> - return 0;
>>>>>>>> + if (!IS_ENABLED(CONFIG_PM_RUNTIME)) {
>>>>>>> Can we not okkup two seperate callbacks instead of above check ?
>>>>>>> I don't like this CONFIG check here. Its slightly better version of
>>>>>>> ifdef in middle of the code.
>>>>>>
>>>>>> I've found more-less similar comment on patch
>>>>>> "Re: [PATCH v3 1/3] power-domain: add power domain drivers for Rockchip platform"
>>>>>> https://lkml.org/lkml/2014/10/17/257
>>>>>>
>>>>>> So, Would you like me to create patch which will enable clocks in pm_clk_add/_clk()
>>>>>> in case !IS_ENABLED(CONFIG_PM_RUNTIME)
>>>>>
>>>>> I am wondering whether we actually should/could do this, no matter of
>>>>> CONFIG_PM_RUNTIME.
>>>>>
>>>>> Typically, for configurations that uses CONFIG_PM_RUNTIME, the PM
>>>>> clocks through pm_clk_suspend(), will be gated once the device becomes
>>>>> runtime PM suspended. Right?
>>>>
>>>> Doing it unconditionally means we'll have lots of unneeded clocks running
>>>> for a short while.
>>
>>> As long as the pm_clk_add() is being invoked from the ->attach_dev()
>>> callback, we are in the probe path. Certainly we would like to have
>>> clocks enabled while probing, don't you think?
>>>
>>> If we wouldn't enable the clocks for CONFIG_PM_RUNTIME, when will
>>> those be enabled?
>>
>> They will be enabled when the driver does
>>
>> pm_runtime_enable(dev);
>> pm_runtime_get_sync(dev);
>>
>> in its .probe() method.
>
> No! This doesn't work for drivers which have used
> pm_runtime_set_active() prior pm_runtime_enable().
Sorry, but some misunderstanding is here:
1) If some code call pm_runtime_set_active() it has to ensure
that all PM resources switched to ON state. All! So, it will
be ok to call enable & get after that - these functions will only
adjust counters.
2) if CONFIG_PM_RUNTIME=n the pm_runtime_set_active() will
be empty (see pm_runtime.h) and you can't relay on it.
3) if CONFIG_PM_RUNTIME=n the pm_runtime_enable/disable() will
be empty - and disable_depth == 1 all the time.
In my case, the combination of generic PD and PM clock framework
will do everything I need for both cases CONFIG_PM_RUNTIME=y/n.
PM domain attach_dev/detach_dev callbacks - will fill PM resources
and enable them if CONFIG_PM_RUNTIME=n.
if CONFIG_PM_RUNTIME - PM resources will be enabled/disabled
by Runtime PM through .start()/.stop() callbacks.
And seems suspend/resume will work too - can't try it now, but it
should work, because .start()/.stop() callbacks have to be called
from pm_genpd_suspend_noirq.
>
> That should also be a common good practice for most drivers, otherwise
> they wouldn’t work unless CONFIG_PM_RUNTIME is enabled.
>
> Please have a look at the following patchset, which is fixing up one
> driver to behave better.
> http://marc.info/?l=linux-pm&m=141327095713390&w=2
It always was (and seems will) a big challenge to support both
CONFIG_PM_RUNTIME=y and system suspend in drivers ;), especially if driver was
initially created using Runtime PM centric approach.
But, for the case CONFIG_PM_RUNTIME + !CONFIG_PM_RUNTIME + suspend...
It will be painful :..((
For example your patches (may be I'm not fully understand your problem,
so here are just comments to code):
patch 3:
- I think you can do smth like this in probe
ret = pm_runtime_get_sync(&pdev->dev);
if (ret < 0)
goto err_m2m;
+
+ if (!pm_runtime_enabled(dev)) {
+ gsc_runtime_resume(dev);
+ }
- and similar thing in remove, before pm_runtime_disable
patch 5 - pm_runtime_force_suspend/resume() will not take into
account or change Runtime PM state of the device if !CONFIG_PM_RUNTIME.
runtime_status == RPM_SUSPENDED always in this case!
So, there may be some side-effects.
patch 7 - you can't call clk_prepare/unprepare from Runtime PM
callbacks, because they aren't atomic
Oh, You definitely will be enjoyed ;)
regards,
-grygorii
WARNING: multiple messages have this Message-ID (diff)
From: grygorii.strashko@ti.com (Grygorii Strashko)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v2 2/3] ARM: keystone: pm: switch to use generic pm domains
Date: Thu, 23 Oct 2014 17:37:31 +0300 [thread overview]
Message-ID: <544912AB.3050801@ti.com> (raw)
In-Reply-To: <CAPDyKFrVCczc+fSy1ax4XinhB4SMfZZWP=d4QdY5Lv4zjOrHPA@mail.gmail.com>
Hi Ulf,
On 10/23/2014 11:11 AM, Ulf Hansson wrote:
> On 22 October 2014 17:44, Geert Uytterhoeven <geert@linux-m68k.org> wrote:
>> On Wed, Oct 22, 2014 at 5:28 PM, Ulf Hansson <ulf.hansson@linaro.org> wrote:
>>> On 22 October 2014 17:09, Geert Uytterhoeven <geert@linux-m68k.org> wrote:
>>>> On Wed, Oct 22, 2014 at 5:01 PM, Ulf Hansson <ulf.hansson@linaro.org> wrote:
>>>>>>>> +void keystone_pm_domain_attach_dev(struct device *dev)
>>>>>>>> {
>>>>>>>> + struct clk *clk;
>>>>>>>> int ret;
>>>>>>>> + int i = 0;
>>>>>>>>
>>>>>>>> dev_dbg(dev, "%s\n", __func__);
>>>>>>>>
>>>>>>>> - ret = pm_generic_runtime_suspend(dev);
>>>>>>>> - if (ret)
>>>>>>>> - return ret;
>>>>>>>> -
>>>>>>>> - ret = pm_clk_suspend(dev);
>>>>>>>> + ret = pm_clk_create(dev);
>>>>>>>> if (ret) {
>>>>>>>> - pm_generic_runtime_resume(dev);
>>>>>>>> - return ret;
>>>>>>>> + dev_err(dev, "pm_clk_create failed %d\n", ret);
>>>>>>>> + return;
>>>>>>>> + };
>>>>>>>> +
>>>>>>>> + while ((clk = of_clk_get(dev->of_node, i++)) && !IS_ERR(clk)) {
>>>>>>>> + ret = pm_clk_add_clk(dev, clk);
>>>>>>>> + if (ret) {
>>>>>>>> + dev_err(dev, "pm_clk_add_clk failed %d\n", ret);
>>>>>>>> + goto clk_err;
>>>>>>>> + };
>>>>>>>> }
>>>>>>>>
>>>>>>>> - return 0;
>>>>>>>> + if (!IS_ENABLED(CONFIG_PM_RUNTIME)) {
>>>>>>> Can we not okkup two seperate callbacks instead of above check ?
>>>>>>> I don't like this CONFIG check here. Its slightly better version of
>>>>>>> ifdef in middle of the code.
>>>>>>
>>>>>> I've found more-less similar comment on patch
>>>>>> "Re: [PATCH v3 1/3] power-domain: add power domain drivers for Rockchip platform"
>>>>>> https://lkml.org/lkml/2014/10/17/257
>>>>>>
>>>>>> So, Would you like me to create patch which will enable clocks in pm_clk_add/_clk()
>>>>>> in case !IS_ENABLED(CONFIG_PM_RUNTIME)
>>>>>
>>>>> I am wondering whether we actually should/could do this, no matter of
>>>>> CONFIG_PM_RUNTIME.
>>>>>
>>>>> Typically, for configurations that uses CONFIG_PM_RUNTIME, the PM
>>>>> clocks through pm_clk_suspend(), will be gated once the device becomes
>>>>> runtime PM suspended. Right?
>>>>
>>>> Doing it unconditionally means we'll have lots of unneeded clocks running
>>>> for a short while.
>>
>>> As long as the pm_clk_add() is being invoked from the ->attach_dev()
>>> callback, we are in the probe path. Certainly we would like to have
>>> clocks enabled while probing, don't you think?
>>>
>>> If we wouldn't enable the clocks for CONFIG_PM_RUNTIME, when will
>>> those be enabled?
>>
>> They will be enabled when the driver does
>>
>> pm_runtime_enable(dev);
>> pm_runtime_get_sync(dev);
>>
>> in its .probe() method.
>
> No! This doesn't work for drivers which have used
> pm_runtime_set_active() prior pm_runtime_enable().
Sorry, but some misunderstanding is here:
1) If some code call pm_runtime_set_active() it has to ensure
that all PM resources switched to ON state. All! So, it will
be ok to call enable & get after that - these functions will only
adjust counters.
2) if CONFIG_PM_RUNTIME=n the pm_runtime_set_active() will
be empty (see pm_runtime.h) and you can't relay on it.
3) if CONFIG_PM_RUNTIME=n the pm_runtime_enable/disable() will
be empty - and disable_depth == 1 all the time.
In my case, the combination of generic PD and PM clock framework
will do everything I need for both cases CONFIG_PM_RUNTIME=y/n.
PM domain attach_dev/detach_dev callbacks - will fill PM resources
and enable them if CONFIG_PM_RUNTIME=n.
if CONFIG_PM_RUNTIME - PM resources will be enabled/disabled
by Runtime PM through .start()/.stop() callbacks.
And seems suspend/resume will work too - can't try it now, but it
should work, because .start()/.stop() callbacks have to be called
from pm_genpd_suspend_noirq.
>
> That should also be a common good practice for most drivers, otherwise
> they wouldn?t work unless CONFIG_PM_RUNTIME is enabled.
>
> Please have a look at the following patchset, which is fixing up one
> driver to behave better.
> http://marc.info/?l=linux-pm&m=141327095713390&w=2
It always was (and seems will) a big challenge to support both
CONFIG_PM_RUNTIME=y and system suspend in drivers ;), especially if driver was
initially created using Runtime PM centric approach.
But, for the case CONFIG_PM_RUNTIME + !CONFIG_PM_RUNTIME + suspend...
It will be painful :..((
For example your patches (may be I'm not fully understand your problem,
so here are just comments to code):
patch 3:
- I think you can do smth like this in probe
ret = pm_runtime_get_sync(&pdev->dev);
if (ret < 0)
goto err_m2m;
+
+ if (!pm_runtime_enabled(dev)) {
+ gsc_runtime_resume(dev);
+ }
- and similar thing in remove, before pm_runtime_disable
patch 5 - pm_runtime_force_suspend/resume() will not take into
account or change Runtime PM state of the device if !CONFIG_PM_RUNTIME.
runtime_status == RPM_SUSPENDED always in this case!
So, there may be some side-effects.
patch 7 - you can't call clk_prepare/unprepare from Runtime PM
callbacks, because they aren't atomic
Oh, You definitely will be enjoyed ;)
regards,
-grygorii
WARNING: multiple messages have this Message-ID (diff)
From: Grygorii Strashko <grygorii.strashko@ti.com>
To: Ulf Hansson <ulf.hansson@linaro.org>,
Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Santosh Shilimkar <santosh.shilimkar@gmail.com>,
<ssantosh@kernel.org>, "Rafael J. Wysocki" <rjw@rjwysocki.net>,
Kevin Hilman <khilman@linaro.org>,
Geert Uytterhoeven <geert+renesas@glider.be>,
"linux-pm@vger.kernel.org" <linux-pm@vger.kernel.org>,
Rob Herring <robh+dt@kernel.org>,
Grant Likely <grant.likely@secretlab.ca>,
"linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>
Subject: Re: [PATCH v2 2/3] ARM: keystone: pm: switch to use generic pm domains
Date: Thu, 23 Oct 2014 17:37:31 +0300 [thread overview]
Message-ID: <544912AB.3050801@ti.com> (raw)
In-Reply-To: <CAPDyKFrVCczc+fSy1ax4XinhB4SMfZZWP=d4QdY5Lv4zjOrHPA@mail.gmail.com>
Hi Ulf,
On 10/23/2014 11:11 AM, Ulf Hansson wrote:
> On 22 October 2014 17:44, Geert Uytterhoeven <geert@linux-m68k.org> wrote:
>> On Wed, Oct 22, 2014 at 5:28 PM, Ulf Hansson <ulf.hansson@linaro.org> wrote:
>>> On 22 October 2014 17:09, Geert Uytterhoeven <geert@linux-m68k.org> wrote:
>>>> On Wed, Oct 22, 2014 at 5:01 PM, Ulf Hansson <ulf.hansson@linaro.org> wrote:
>>>>>>>> +void keystone_pm_domain_attach_dev(struct device *dev)
>>>>>>>> {
>>>>>>>> + struct clk *clk;
>>>>>>>> int ret;
>>>>>>>> + int i = 0;
>>>>>>>>
>>>>>>>> dev_dbg(dev, "%s\n", __func__);
>>>>>>>>
>>>>>>>> - ret = pm_generic_runtime_suspend(dev);
>>>>>>>> - if (ret)
>>>>>>>> - return ret;
>>>>>>>> -
>>>>>>>> - ret = pm_clk_suspend(dev);
>>>>>>>> + ret = pm_clk_create(dev);
>>>>>>>> if (ret) {
>>>>>>>> - pm_generic_runtime_resume(dev);
>>>>>>>> - return ret;
>>>>>>>> + dev_err(dev, "pm_clk_create failed %d\n", ret);
>>>>>>>> + return;
>>>>>>>> + };
>>>>>>>> +
>>>>>>>> + while ((clk = of_clk_get(dev->of_node, i++)) && !IS_ERR(clk)) {
>>>>>>>> + ret = pm_clk_add_clk(dev, clk);
>>>>>>>> + if (ret) {
>>>>>>>> + dev_err(dev, "pm_clk_add_clk failed %d\n", ret);
>>>>>>>> + goto clk_err;
>>>>>>>> + };
>>>>>>>> }
>>>>>>>>
>>>>>>>> - return 0;
>>>>>>>> + if (!IS_ENABLED(CONFIG_PM_RUNTIME)) {
>>>>>>> Can we not okkup two seperate callbacks instead of above check ?
>>>>>>> I don't like this CONFIG check here. Its slightly better version of
>>>>>>> ifdef in middle of the code.
>>>>>>
>>>>>> I've found more-less similar comment on patch
>>>>>> "Re: [PATCH v3 1/3] power-domain: add power domain drivers for Rockchip platform"
>>>>>> https://lkml.org/lkml/2014/10/17/257
>>>>>>
>>>>>> So, Would you like me to create patch which will enable clocks in pm_clk_add/_clk()
>>>>>> in case !IS_ENABLED(CONFIG_PM_RUNTIME)
>>>>>
>>>>> I am wondering whether we actually should/could do this, no matter of
>>>>> CONFIG_PM_RUNTIME.
>>>>>
>>>>> Typically, for configurations that uses CONFIG_PM_RUNTIME, the PM
>>>>> clocks through pm_clk_suspend(), will be gated once the device becomes
>>>>> runtime PM suspended. Right?
>>>>
>>>> Doing it unconditionally means we'll have lots of unneeded clocks running
>>>> for a short while.
>>
>>> As long as the pm_clk_add() is being invoked from the ->attach_dev()
>>> callback, we are in the probe path. Certainly we would like to have
>>> clocks enabled while probing, don't you think?
>>>
>>> If we wouldn't enable the clocks for CONFIG_PM_RUNTIME, when will
>>> those be enabled?
>>
>> They will be enabled when the driver does
>>
>> pm_runtime_enable(dev);
>> pm_runtime_get_sync(dev);
>>
>> in its .probe() method.
>
> No! This doesn't work for drivers which have used
> pm_runtime_set_active() prior pm_runtime_enable().
Sorry, but some misunderstanding is here:
1) If some code call pm_runtime_set_active() it has to ensure
that all PM resources switched to ON state. All! So, it will
be ok to call enable & get after that - these functions will only
adjust counters.
2) if CONFIG_PM_RUNTIME=n the pm_runtime_set_active() will
be empty (see pm_runtime.h) and you can't relay on it.
3) if CONFIG_PM_RUNTIME=n the pm_runtime_enable/disable() will
be empty - and disable_depth == 1 all the time.
In my case, the combination of generic PD and PM clock framework
will do everything I need for both cases CONFIG_PM_RUNTIME=y/n.
PM domain attach_dev/detach_dev callbacks - will fill PM resources
and enable them if CONFIG_PM_RUNTIME=n.
if CONFIG_PM_RUNTIME - PM resources will be enabled/disabled
by Runtime PM through .start()/.stop() callbacks.
And seems suspend/resume will work too - can't try it now, but it
should work, because .start()/.stop() callbacks have to be called
from pm_genpd_suspend_noirq.
>
> That should also be a common good practice for most drivers, otherwise
> they wouldn’t work unless CONFIG_PM_RUNTIME is enabled.
>
> Please have a look at the following patchset, which is fixing up one
> driver to behave better.
> http://marc.info/?l=linux-pm&m=141327095713390&w=2
It always was (and seems will) a big challenge to support both
CONFIG_PM_RUNTIME=y and system suspend in drivers ;), especially if driver was
initially created using Runtime PM centric approach.
But, for the case CONFIG_PM_RUNTIME + !CONFIG_PM_RUNTIME + suspend...
It will be painful :..((
For example your patches (may be I'm not fully understand your problem,
so here are just comments to code):
patch 3:
- I think you can do smth like this in probe
ret = pm_runtime_get_sync(&pdev->dev);
if (ret < 0)
goto err_m2m;
+
+ if (!pm_runtime_enabled(dev)) {
+ gsc_runtime_resume(dev);
+ }
- and similar thing in remove, before pm_runtime_disable
patch 5 - pm_runtime_force_suspend/resume() will not take into
account or change Runtime PM state of the device if !CONFIG_PM_RUNTIME.
runtime_status == RPM_SUSPENDED always in this case!
So, there may be some side-effects.
patch 7 - you can't call clk_prepare/unprepare from Runtime PM
callbacks, because they aren't atomic
Oh, You definitely will be enjoyed ;)
regards,
-grygorii
next prev parent reply other threads:[~2014-10-23 14:38 UTC|newest]
Thread overview: 61+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-10-20 12:56 [PATCH v2 0/3] ARM: keystone: pm: switch to use generic pm domains Grygorii Strashko
2014-10-20 12:56 ` Grygorii Strashko
2014-10-20 12:56 ` Grygorii Strashko
2014-10-20 12:56 ` [PATCH v2 1/3] PM / clock_ops: Add pm_clk_add_clk() Grygorii Strashko
2014-10-20 12:56 ` Grygorii Strashko
2014-10-20 12:56 ` Grygorii Strashko
2014-10-21 18:00 ` Santosh Shilimkar
2014-10-21 18:00 ` Santosh Shilimkar
[not found] ` <1413809764-21995-2-git-send-email-grygorii.strashko-l0cyMroinI0@public.gmane.org>
2014-10-22 17:38 ` Dmitry Torokhov
2014-10-22 17:38 ` Dmitry Torokhov
2014-10-22 17:38 ` Dmitry Torokhov
2014-10-22 19:02 ` Grygorii Strashko
2014-10-22 19:02 ` Grygorii Strashko
2014-10-22 19:02 ` Grygorii Strashko
2014-10-22 20:14 ` Dmitry Torokhov
2014-10-22 20:14 ` Dmitry Torokhov
2014-10-22 21:16 ` Dmitry Torokhov
2014-10-22 21:16 ` Dmitry Torokhov
2014-10-22 22:46 ` Dmitry Torokhov
2014-10-22 22:46 ` Dmitry Torokhov
[not found] ` <1413809764-21995-1-git-send-email-grygorii.strashko-l0cyMroinI0@public.gmane.org>
2014-10-20 12:56 ` [PATCH v2 2/3] ARM: keystone: pm: switch to use generic pm domains Grygorii Strashko
2014-10-20 12:56 ` Grygorii Strashko
2014-10-20 12:56 ` Grygorii Strashko
2014-10-21 18:05 ` Santosh Shilimkar
2014-10-21 18:05 ` Santosh Shilimkar
2014-10-22 11:23 ` Grygorii Strashko
2014-10-22 11:23 ` Grygorii Strashko
2014-10-22 11:23 ` Grygorii Strashko
2014-10-22 15:01 ` Ulf Hansson
2014-10-22 15:01 ` Ulf Hansson
2014-10-22 15:09 ` Geert Uytterhoeven
2014-10-22 15:09 ` Geert Uytterhoeven
2014-10-22 15:28 ` Ulf Hansson
2014-10-22 15:28 ` Ulf Hansson
2014-10-22 15:44 ` Geert Uytterhoeven
2014-10-22 15:44 ` Geert Uytterhoeven
2014-10-23 8:11 ` Ulf Hansson
2014-10-23 8:11 ` Ulf Hansson
2014-10-23 14:37 ` Grygorii Strashko [this message]
2014-10-23 14:37 ` Grygorii Strashko
2014-10-23 14:37 ` Grygorii Strashko
2014-10-24 9:53 ` Ulf Hansson
2014-10-24 9:53 ` Ulf Hansson
2014-10-24 12:07 ` Grygorii Strashko
2014-10-24 12:07 ` Grygorii Strashko
2014-10-24 12:07 ` Grygorii Strashko
2014-10-27 9:39 ` Ulf Hansson
2014-10-27 9:39 ` Ulf Hansson
2014-10-24 16:39 ` Dmitry Torokhov
2014-10-24 16:39 ` Dmitry Torokhov
2014-10-25 10:45 ` Ulf Hansson
2014-10-25 10:45 ` Ulf Hansson
2014-10-25 10:45 ` Ulf Hansson
2014-10-22 15:58 ` Kevin Hilman
2014-10-22 15:58 ` Kevin Hilman
2014-10-22 15:58 ` Kevin Hilman
2014-10-22 18:49 ` Santosh Shilimkar
2014-10-22 18:49 ` Santosh Shilimkar
2014-10-20 12:56 ` [PATCH v2 3/3] ARM: dts: keystone: add generic pd controller node Grygorii Strashko
2014-10-20 12:56 ` Grygorii Strashko
2014-10-20 12:56 ` Grygorii Strashko
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=544912AB.3050801@ti.com \
--to=grygorii.strashko@ti.com \
--cc=devicetree@vger.kernel.org \
--cc=geert+renesas@glider.be \
--cc=geert@linux-m68k.org \
--cc=grant.likely@secretlab.ca \
--cc=khilman@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=rjw@rjwysocki.net \
--cc=robh+dt@kernel.org \
--cc=santosh.shilimkar@gmail.com \
--cc=ssantosh@kernel.org \
--cc=ulf.hansson@linaro.org \
/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.