diff options
Diffstat (limited to 'drivers/base/platform.c')
-rw-r--r-- | drivers/base/platform.c | 20 |
1 files changed, 6 insertions, 14 deletions
diff --git a/drivers/base/platform.c b/drivers/base/platform.c index a1a56ff65b76..75ce8711bca5 100644 --- a/drivers/base/platform.c +++ b/drivers/base/platform.c | |||
@@ -281,13 +281,9 @@ static int platform_suspend(struct device * dev, pm_message_t state) | |||
281 | { | 281 | { |
282 | int ret = 0; | 282 | int ret = 0; |
283 | 283 | ||
284 | if (dev->driver && dev->driver->suspend) { | 284 | if (dev->driver && dev->driver->suspend) |
285 | ret = dev->driver->suspend(dev, state, SUSPEND_DISABLE); | 285 | ret = dev->driver->suspend(dev, state); |
286 | if (ret == 0) | 286 | |
287 | ret = dev->driver->suspend(dev, state, SUSPEND_SAVE_STATE); | ||
288 | if (ret == 0) | ||
289 | ret = dev->driver->suspend(dev, state, SUSPEND_POWER_DOWN); | ||
290 | } | ||
291 | return ret; | 287 | return ret; |
292 | } | 288 | } |
293 | 289 | ||
@@ -295,13 +291,9 @@ static int platform_resume(struct device * dev) | |||
295 | { | 291 | { |
296 | int ret = 0; | 292 | int ret = 0; |
297 | 293 | ||
298 | if (dev->driver && dev->driver->resume) { | 294 | if (dev->driver && dev->driver->resume) |
299 | ret = dev->driver->resume(dev, RESUME_POWER_ON); | 295 | ret = dev->driver->resume(dev); |
300 | if (ret == 0) | 296 | |
301 | ret = dev->driver->resume(dev, RESUME_RESTORE_STATE); | ||
302 | if (ret == 0) | ||
303 | ret = dev->driver->resume(dev, RESUME_ENABLE); | ||
304 | } | ||
305 | return ret; | 297 | return ret; |
306 | } | 298 | } |
307 | 299 | ||