diff options
author | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2013-04-15 20:27:12 +0400 |
---|---|---|
committer | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2013-04-15 20:27:12 +0400 |
commit | cd2d95d97c8d1b66467507400c63d707ddb1deba (patch) | |
tree | 7ad5223ba88110ca6735637c9eef327515e9bb96 /drivers/misc/mei/init.c | |
parent | 88dd75af0e49e1dabef6f7c7f7f4fa0234b9b988 (diff) | |
parent | 41ef2d5678d83af030125550329b6ae8b74618fa (diff) | |
download | linux-cd2d95d97c8d1b66467507400c63d707ddb1deba.tar.xz |
Merge tag 'v3.9-rc7' into regulator-fix-core
Linux 3.9-rc7
Trivial context overlap conflicts:
MAINTAINERS
Diffstat (limited to 'drivers/misc/mei/init.c')
-rw-r--r-- | drivers/misc/mei/init.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/drivers/misc/mei/init.c b/drivers/misc/mei/init.c index 6ec530168afb..356179991a2e 100644 --- a/drivers/misc/mei/init.c +++ b/drivers/misc/mei/init.c @@ -183,6 +183,24 @@ void mei_reset(struct mei_device *dev, int interrupts_enabled) mei_cl_all_write_clear(dev); } +void mei_stop(struct mei_device *dev) +{ + dev_dbg(&dev->pdev->dev, "stopping the device.\n"); + + mutex_lock(&dev->device_lock); + + cancel_delayed_work(&dev->timer_work); + + mei_wd_stop(dev); + + dev->dev_state = MEI_DEV_POWER_DOWN; + mei_reset(dev, 0); + + mutex_unlock(&dev->device_lock); + + flush_scheduled_work(); +} + |