From: khilman@ti.com (Kevin Hilman)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 2/2] OMAP2+: PM: SR: add suspend/resume handlers
Date: Fri, 22 Jul 2011 13:10:53 -0700 [thread overview]
Message-ID: <87hb6e13g2.fsf@ti.com> (raw)
In-Reply-To: <1311314153-23531-3-git-send-email-nm@ti.com> (Nishanth Menon's message of "Fri, 22 Jul 2011 00:55:53 -0500")
Nishanth Menon <nm@ti.com> writes:
> Suspend and Resume paths are safe enough to do it in
What is 'it' ?
> the standard LDM suspend/resume handlers where one can
> sleep. Add suspend/resume handlers for SmartReflex.
Minor comments on the code below, but this changelog doesn't read well,
or at least I can't make any sense of it.
[...]
> @@ -684,6 +685,12 @@ void omap_sr_enable(struct voltagedomain *voltdm)
> if (!sr->autocomp_active)
> return;
>
> + if (sr->is_suspended) {
> + dev_dbg(&sr->pdev->dev, "%s: in suspended state\n", __func__);
> + return;
> + }
> +
> +
extra blank line
> if (!sr_class || !(sr_class->enable) || !(sr_class->configure)) {
> dev_warn(&sr->pdev->dev, "%s: smartreflex class driver not"
> "registered\n", __func__);
[...]
> static struct platform_driver smartreflex_driver = {
> .remove = omap_sr_remove,
> + .suspend = omap_sr_suspend,
> + .resume = omap_sr_resume,
You're using the legacy methods here, please use dev_pm_ops.
That means you'll need to create a struct dev_pm_ops and fill in these
mehods there (and note the dev_pm_ops methods don't have a 'state'
argument.
Also, when implementing suspend/resume, you need to make sure the
hibernate callbacks are populated also. They should be populated with
the same callbacks, so the best way to do this is to use
SIMPLE_DEV_PM_OPS() (see <linux/pm.h>). That macro also takes care of
the !CONFIG_PM case as well.
IOW, the result would look someting like this (not even compile tested):
static SIMPLE_DEV_PM_OPS(omap_sr_pm_ops, omap_sr_suspend, omap_sr_resume)
static struct platform_driver smartreflex_driver = {
.remove = omap_sr_remove,
.driver = {
.name = "smartreflex",
.pm = &omap_sr_pm_ops,
},
};
Kevin
prev parent reply other threads:[~2011-07-22 20:10 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-07-22 5:55 [PATCH 0/2] OMAP3+: PM: SR fixes Nishanth Menon
2011-07-22 5:55 ` [PATCH 1/2] OMAP3+: PM: SR: use put_sync_suspend for disabling Nishanth Menon
2011-07-22 20:14 ` Kevin Hilman
2011-07-22 5:55 ` [PATCH 2/2] OMAP2+: PM: SR: add suspend/resume handlers Nishanth Menon
2011-07-22 9:13 ` Felipe Balbi
2011-07-22 13:53 ` Menon, Nishanth
2011-07-22 20:10 ` Kevin Hilman [this message]
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=87hb6e13g2.fsf@ti.com \
--to=khilman@ti.com \
--cc=linux-arm-kernel@lists.infradead.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox