diff options
author | Jonghwan Choi <jhbird.choi@samsung.com> | 2011-11-29 03:17:51 -0500 |
---|---|---|
committer | Samuel Ortiz <sameo@linux.intel.com> | 2012-01-08 18:37:36 -0500 |
commit | 7ef73598d4ca8add089d5eb9f3b78e9540a1a98d (patch) | |
tree | 438e1d669b4cdcbbcda3e45a0599aa87d7afd985 /drivers/mfd | |
parent | bdd6a67a3936f4da5ef382ec640b8d1eb1f209fa (diff) |
mfd: Use standard device wakeup for handling max8998 wakeup device
Use device_init_wakeup & device_may_wakeup to init wakeup
Signed-off-by: Jonghwan Choi <jhbird.choi@samsung.com>
Acked-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
Diffstat (limited to 'drivers/mfd')
-rw-r--r-- | drivers/mfd/max8998.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/mfd/max8998.c b/drivers/mfd/max8998.c index de4096aee248..6ef56d28c056 100644 --- a/drivers/mfd/max8998.c +++ b/drivers/mfd/max8998.c | |||
@@ -176,6 +176,8 @@ static int max8998_i2c_probe(struct i2c_client *i2c, | |||
176 | if (ret < 0) | 176 | if (ret < 0) |
177 | goto err; | 177 | goto err; |
178 | 178 | ||
179 | device_init_wakeup(max8998->dev, max8998->wakeup); | ||
180 | |||
179 | return ret; | 181 | return ret; |
180 | 182 | ||
181 | err: | 183 | err: |
@@ -210,7 +212,7 @@ static int max8998_suspend(struct device *dev) | |||
210 | struct i2c_client *i2c = container_of(dev, struct i2c_client, dev); | 212 | struct i2c_client *i2c = container_of(dev, struct i2c_client, dev); |
211 | struct max8998_dev *max8998 = i2c_get_clientdata(i2c); | 213 | struct max8998_dev *max8998 = i2c_get_clientdata(i2c); |
212 | 214 | ||
213 | if (max8998->wakeup) | 215 | if (device_may_wakeup(dev)) |
214 | irq_set_irq_wake(max8998->irq, 1); | 216 | irq_set_irq_wake(max8998->irq, 1); |
215 | return 0; | 217 | return 0; |
216 | } | 218 | } |
@@ -220,7 +222,7 @@ static int max8998_resume(struct device *dev) | |||
220 | struct i2c_client *i2c = container_of(dev, struct i2c_client, dev); | 222 | struct i2c_client *i2c = container_of(dev, struct i2c_client, dev); |
221 | struct max8998_dev *max8998 = i2c_get_clientdata(i2c); | 223 | struct max8998_dev *max8998 = i2c_get_clientdata(i2c); |
222 | 224 | ||
223 | if (max8998->wakeup) | 225 | if (device_may_wakeup(dev)) |
224 | irq_set_irq_wake(max8998->irq, 0); | 226 | irq_set_irq_wake(max8998->irq, 0); |
225 | /* | 227 | /* |
226 | * In LP3974, if IRQ registers are not "read & clear" | 228 | * In LP3974, if IRQ registers are not "read & clear" |