From: Anton Vorontsov <cbouatmailru@gmail.com>
To: Ramakrishna Pallala <ramakrishna.pallala@intel.com>
Cc: linux-kernel@vger.kernel.org
Subject: Re: [PATCH] max17042_battery: add suspend/resume hooks
Date: Fri, 4 May 2012 20:38:09 -0700 [thread overview]
Message-ID: <20120505033809.GA3285@lizard> (raw)
In-Reply-To: <1332795220-8343-1-git-send-email-ramakrishna.pallala@intel.com>
On Tue, Mar 27, 2012 at 02:23:40AM +0530, Ramakrishna Pallala wrote:
> This patch adds suspend/resume methods to the driver.
>
> In suspend method irq line is disabled to avoid i2c
> read/write errors from the interrupt handler as the
> i2c bus itself could be in suspend state.
> In resume function irq line will be re-enabled.
>
> Signed-off-by: Ramakrishna Pallala <ramakrishna.pallala@intel.com>
> ---
Applied, thank you!
[...]
> +#else
> +#define max17042_suspend NULL
> +#define max17042_resume NULL
> +#endif
> +
[...]
> +static const struct dev_pm_ops max17042_pm_ops = {
> + .suspend = max17042_suspend,
> + .resume = max17042_resume,
> +};
> +
> static struct i2c_driver max17042_i2c_driver = {
> .driver = {
> .name = "max17042",
> .of_match_table = of_match_ptr(max17042_dt_match),
> + .pm = &max17042_pm_ops,
It's better to hide dev_pm_ops under CONFIG_PM, and pass NULL in case
of !PM.
FYI, I applied this on top:
diff --git a/drivers/power/max17042_battery.c b/drivers/power/max17042_battery.c
index 07dee97..738648d 100644
--- a/drivers/power/max17042_battery.c
+++ b/drivers/power/max17042_battery.c
@@ -727,7 +727,8 @@ static int max17042_suspend(struct device *dev)
{
struct max17042_chip *chip = dev_get_drvdata(dev);
- /* disable the irq and enable irq_wake
+ /*
+ * disable the irq and enable irq_wake
* capability to the interrupt line.
*/
if (chip->client->irq) {
@@ -751,9 +752,15 @@ static int max17042_resume(struct device *dev)
return 0;
}
+
+static const struct dev_pm_ops max17042_pm_ops = {
+ .suspend = max17042_suspend,
+ .resume = max17042_resume,
+};
+
+#define MAX17042_PM_OPS (&max17042_pm_ops)
#else
-#define max17042_suspend NULL
-#define max17042_resume NULL
+#define MAX17042_PM_OPS NULL
#endif
#ifdef CONFIG_OF
@@ -770,16 +777,11 @@ static const struct i2c_device_id max17042_id[] = {
};
MODULE_DEVICE_TABLE(i2c, max17042_id);
-static const struct dev_pm_ops max17042_pm_ops = {
- .suspend = max17042_suspend,
- .resume = max17042_resume,
-};
-
static struct i2c_driver max17042_i2c_driver = {
.driver = {
.name = "max17042",
.of_match_table = of_match_ptr(max17042_dt_match),
- .pm = &max17042_pm_ops,
+ .pm = MAX17042_PM_OPS,
},
.probe = max17042_probe,
.remove = __devexit_p(max17042_remove),
prev parent reply other threads:[~2012-05-05 3:39 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-03-26 20:53 [PATCH] max17042_battery: add suspend/resume hooks Ramakrishna Pallala
2012-05-05 3:38 ` Anton Vorontsov [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=20120505033809.GA3285@lizard \
--to=cbouatmailru@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=ramakrishna.pallala@intel.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.