summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlison Wang <b18965@freescale.com>2012-12-11 15:38:00 +0800
committerEd Nash <enash@enash-desktop.(none)>2012-12-12 14:46:31 -0500
commit3e67deec905904e2786129bfbffea1e20b18a8fe (patch)
tree3e5e2980f660028982565d46725c934e7dcbf27d
parent97bb163197f3dc3405af90b5159e0f6b8a302586 (diff)
ENGR00216076-3: DSPI: Update DSPI driver for PM
Update power management part for DSPI driver. Signed-off-by: Alison Wang <b18965@freescale.com>
-rw-r--r--drivers/spi/spi_mvf_dspi.c32
1 files changed, 2 insertions, 30 deletions
diff --git a/drivers/spi/spi_mvf_dspi.c b/drivers/spi/spi_mvf_dspi.c
index 21dc672975be..a394659a3b02 100644
--- a/drivers/spi/spi_mvf_dspi.c
+++ b/drivers/spi/spi_mvf_dspi.c
@@ -1033,34 +1033,12 @@ static void spi_mvf_shutdown(struct platform_device *pdev)
#ifdef CONFIG_PM
-static int suspend_devices(struct device *dev, void *pm_message)
-{
- pm_message_t *state = pm_message;
-
- if (dev->power.power_state.event != state->event) {
- dev_warn(dev, "pm state does not match request\n");
- return -1;
- }
-
- return 0;
-}
-
static int spi_mvf_suspend(struct platform_device *pdev,
pm_message_t state)
{
struct spi_mvf_data *spi_mvf = platform_get_drvdata(pdev);
- int ret = 0;
-
- /* Check all childern for current power state */
- if (device_for_each_child(&pdev->dev,
- &state, suspend_devices) != 0) {
- dev_warn(&pdev->dev, "suspend aborted\n");
- return -1;
- }
- ret = stop_queue(spi_mvf);
- if (ret != 0)
- return ret;
+ clk_disable(spi_mvf->clk);
return 0;
}
@@ -1068,14 +1046,8 @@ static int spi_mvf_suspend(struct platform_device *pdev,
static int spi_mvf_resume(struct platform_device *pdev)
{
struct spi_mvf_data *spi_mvf = platform_get_drvdata(pdev);
- int ret = 0;
- /* Start the queue running */
- ret = start_queue(spi_mvf);
- if (ret != 0) {
- dev_err(&pdev->dev, "problem starting queue (%d)\n", ret);
- return ret;
- }
+ clk_enable(spi_mvf->clk);
return 0;
}