All of lore.kernel.org
 help / color / mirror / Atom feed
From: Kevin Hilman <khilman@deeprootsystems.com>
To: Paul Walmsley <paul@pwsan.com>
Cc: linux-omap@vger.kernel.org, linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH 2/3] OMAP: PM: use omap_device API for suspend/resume
Date: Thu, 24 Jun 2010 10:34:52 -0700	[thread overview]
Message-ID: <87bpb0gwqr.fsf@deeprootsystems.com> (raw)
In-Reply-To: <alpine.DEB.2.00.1006232128390.1550@utopia.booyaka.com> (Paul Walmsley's message of "Thu, 24 Jun 2010 00:30:37 -0600 (MDT)")

Paul Walmsley <paul@pwsan.com> writes:

> Hi Kevin,
>
> aside from these comments:
>
>    http://marc.info/?l=linux-omap&m=127735008820992&w=2
>
> one other minor issue -
>
> On Wed, 23 Jun 2010, Kevin Hilman wrote:
>
>> Hook into the platform bus methods for suspend and resume and
>> use the omap_device API to automatically idle and enable the
>> device on suspend and resume.
>> 
>> This allows device drivers to get rid of direct management of their
>> clocks in their suspend/resume paths, and let omap_device do it for
>> them.
>> 
>> We currently use the _noirq (late suspend, early resume) versions of
>> the suspend/resume methods to ensure that the device is not disabled
>> too early for any drivers also using the _noirq methods.
>> 
>> NOTE: only works for devices with omap_hwmod support.
>> 
>> Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
>> ---
>>  arch/arm/mach-omap2/pm_bus.c |   61 ++++++++++++++++++++++++++++++++++++++++++
>>  1 files changed, 61 insertions(+), 0 deletions(-)
>> 
>> diff --git a/arch/arm/mach-omap2/pm_bus.c b/arch/arm/mach-omap2/pm_bus.c
>> index 69acaa5..3787da8 100644
>> --- a/arch/arm/mach-omap2/pm_bus.c
>> +++ b/arch/arm/mach-omap2/pm_bus.c
>> @@ -70,3 +70,64 @@ int platform_pm_runtime_idle(struct device *dev)
>>  };
>>  #endif /* CONFIG_PM_RUNTIME */
>>  
>> +#ifdef CONFIG_SUSPEND
>> +int platform_pm_suspend_noirq(struct device *dev)
>> +{
>> +	struct device_driver *drv = dev->driver;
>> +	struct platform_device *pdev = to_platform_device(dev);
>> +	struct omap_device *odev = to_omap_device(pdev);
>> +	int ret = 0;
>> +
>> +	if (!drv)
>> +		return 0;
>> +
>> +	if (drv->pm) {
>> +		if (drv->pm->suspend_noirq)
>> +			ret = drv->pm->suspend_noirq(dev);
>> +	}
>> +
>> +	if (omap_device_is_valid(odev)) {
>> +		if (odev->flags & OMAP_DEVICE_NO_BUS_SUSPEND) {
>> +			dev_dbg(dev, "no automatic bus-level system resume.\n");
>
> I guess this should read "suspend" above?
>

Yup, thanks.

Kevin

WARNING: multiple messages have this Message-ID (diff)
From: khilman@deeprootsystems.com (Kevin Hilman)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 2/3] OMAP: PM: use omap_device API for suspend/resume
Date: Thu, 24 Jun 2010 10:34:52 -0700	[thread overview]
Message-ID: <87bpb0gwqr.fsf@deeprootsystems.com> (raw)
In-Reply-To: <alpine.DEB.2.00.1006232128390.1550@utopia.booyaka.com> (Paul Walmsley's message of "Thu, 24 Jun 2010 00:30:37 -0600 (MDT)")

Paul Walmsley <paul@pwsan.com> writes:

> Hi Kevin,
>
> aside from these comments:
>
>    http://marc.info/?l=linux-omap&m=127735008820992&w=2
>
> one other minor issue -
>
> On Wed, 23 Jun 2010, Kevin Hilman wrote:
>
>> Hook into the platform bus methods for suspend and resume and
>> use the omap_device API to automatically idle and enable the
>> device on suspend and resume.
>> 
>> This allows device drivers to get rid of direct management of their
>> clocks in their suspend/resume paths, and let omap_device do it for
>> them.
>> 
>> We currently use the _noirq (late suspend, early resume) versions of
>> the suspend/resume methods to ensure that the device is not disabled
>> too early for any drivers also using the _noirq methods.
>> 
>> NOTE: only works for devices with omap_hwmod support.
>> 
>> Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
>> ---
>>  arch/arm/mach-omap2/pm_bus.c |   61 ++++++++++++++++++++++++++++++++++++++++++
>>  1 files changed, 61 insertions(+), 0 deletions(-)
>> 
>> diff --git a/arch/arm/mach-omap2/pm_bus.c b/arch/arm/mach-omap2/pm_bus.c
>> index 69acaa5..3787da8 100644
>> --- a/arch/arm/mach-omap2/pm_bus.c
>> +++ b/arch/arm/mach-omap2/pm_bus.c
>> @@ -70,3 +70,64 @@ int platform_pm_runtime_idle(struct device *dev)
>>  };
>>  #endif /* CONFIG_PM_RUNTIME */
>>  
>> +#ifdef CONFIG_SUSPEND
>> +int platform_pm_suspend_noirq(struct device *dev)
>> +{
>> +	struct device_driver *drv = dev->driver;
>> +	struct platform_device *pdev = to_platform_device(dev);
>> +	struct omap_device *odev = to_omap_device(pdev);
>> +	int ret = 0;
>> +
>> +	if (!drv)
>> +		return 0;
>> +
>> +	if (drv->pm) {
>> +		if (drv->pm->suspend_noirq)
>> +			ret = drv->pm->suspend_noirq(dev);
>> +	}
>> +
>> +	if (omap_device_is_valid(odev)) {
>> +		if (odev->flags & OMAP_DEVICE_NO_BUS_SUSPEND) {
>> +			dev_dbg(dev, "no automatic bus-level system resume.\n");
>
> I guess this should read "suspend" above?
>

Yup, thanks.

Kevin

  reply	other threads:[~2010-06-24 17:34 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-06-23 23:37 [PATCH 0/3] OMAP: add runtime PM support at bus-level Kevin Hilman
2010-06-23 23:37 ` Kevin Hilman
2010-06-23 23:37 ` [PATCH 1/3] OMAP: PM: initial runtime PM core support Kevin Hilman
2010-06-23 23:37   ` Kevin Hilman
2010-06-23 23:37 ` [PATCH 2/3] OMAP: PM: use omap_device API for suspend/resume Kevin Hilman
2010-06-23 23:37   ` Kevin Hilman
2010-06-24  6:30   ` Paul Walmsley
2010-06-24  6:30     ` Paul Walmsley
2010-06-24 17:34     ` Kevin Hilman [this message]
2010-06-24 17:34       ` Kevin Hilman
2010-06-23 23:37 ` [PATCH 3/3] OMAP1: PM: add simple runtime PM layer to manage clocks Kevin Hilman
2010-06-23 23:37   ` Kevin Hilman

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=87bpb0gwqr.fsf@deeprootsystems.com \
    --to=khilman@deeprootsystems.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-omap@vger.kernel.org \
    --cc=paul@pwsan.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.