From: Kevin Hilman <khilman@deeprootsystems.com>
To: "Nayak, Rajendra" <rnayak@ti.com>, Paul Walmsley <paul@pwsan.com>
Cc: "linux-omap@vger.kernel.org" <linux-omap@vger.kernel.org>
Subject: Re: [PATCH 3/4] OMAP: PM: use omap_device API for suspend/resume
Date: Tue, 01 Jun 2010 10:13:05 -0700 [thread overview]
Message-ID: <87mxvebrry.fsf@deeprootsystems.com> (raw)
In-Reply-To: <5A47E75E594F054BAF48C5E4FC4B92AB032320719C@dbde02.ent.ti.com> (Rajendra Nayak's message of "Tue\, 1 Jun 2010 11\:41\:35 +0530")
"Nayak, Rajendra" <rnayak@ti.com> writes:
[...]
>> 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");
>> + return 0;
>> + }
>> +
>> + dev_dbg(dev, "%s\n", __func__);
>> + omap_device_idle(pdev);
>
> Is it expected that a device is always in enabled state at this point?
> If the device is already in idle a call to omap_device_idle unconditionally
> throws up warnings from the omap_device api.
Hmm, good point. The device may already be idled (via runtime PM, or
maybe because it was never enabled.)
There are two options:
1. fixup the warnings in the omap_device_idle() to allow multiple
calls to _idle()
2. Add an omap_device_is_idle() check before calling _idle()
I much prefer (1).
Paul?
Kevin
next prev parent reply other threads:[~2010-06-01 17:13 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-05-27 21:13 [PATCH 0/4] runtime PM support at the bus level Kevin Hilman
2010-05-27 21:13 ` [PATCH 1/4] platform_bus: allow custom extensions to system PM methods Kevin Hilman
2010-05-27 21:13 ` [PATCH 2/4] OMAP: PM: initial runtime PM core support Kevin Hilman
2010-05-27 21:13 ` [PATCH 3/4] OMAP: PM: use omap_device API for suspend/resume Kevin Hilman
2010-06-01 6:11 ` Nayak, Rajendra
2010-06-01 17:13 ` Kevin Hilman [this message]
2010-06-21 15:18 ` Paul Walmsley
2010-06-21 16:04 ` Kevin Hilman
2010-06-21 21:39 ` Paul Walmsley
2010-06-21 23:59 ` Kevin Hilman
2010-06-24 3:27 ` Paul Walmsley
2010-06-24 7:06 ` Paul Walmsley
2010-06-24 17:24 ` Paul Walmsley
2010-06-24 17:23 ` Kevin Hilman
2010-05-27 21:13 ` [PATCH 4/4] OMAP: omap_device: add flag to disable automatic bus-level suspend/resume Kevin Hilman
2010-06-17 23:08 ` [PATCH] OMAP1: PM: add simple runtime PM layer to manage clocks Kevin Hilman
2010-06-26 16:08 ` DebBarma, Tarun Kanti
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=87mxvebrry.fsf@deeprootsystems.com \
--to=khilman@deeprootsystems.com \
--cc=linux-omap@vger.kernel.org \
--cc=paul@pwsan.com \
--cc=rnayak@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.