diff options
Diffstat (limited to 'arch/arm/common/scoop.c')
-rw-r--r-- | arch/arm/common/scoop.c | 24 |
1 files changed, 11 insertions, 13 deletions
diff --git a/arch/arm/common/scoop.c b/arch/arm/common/scoop.c index 9e5245c702de..e8356b76d7c6 100644 --- a/arch/arm/common/scoop.c +++ b/arch/arm/common/scoop.c | |||
@@ -102,26 +102,24 @@ static void check_scoop_reg(struct scoop_dev *sdev) | |||
102 | } | 102 | } |
103 | 103 | ||
104 | #ifdef CONFIG_PM | 104 | #ifdef CONFIG_PM |
105 | static int scoop_suspend(struct device *dev, pm_message_t state, uint32_t level) | 105 | static int scoop_suspend(struct device *dev, pm_message_t state) |
106 | { | 106 | { |
107 | if (level == SUSPEND_POWER_DOWN) { | 107 | struct scoop_dev *sdev = dev_get_drvdata(dev); |
108 | struct scoop_dev *sdev = dev_get_drvdata(dev); | 108 | |
109 | check_scoop_reg(sdev); | ||
110 | sdev->scoop_gpwr = SCOOP_REG(sdev->base, SCOOP_GPWR); | ||
111 | SCOOP_REG(sdev->base, SCOOP_GPWR) = (sdev->scoop_gpwr & ~sdev->suspend_clr) | sdev->suspend_set; | ||
109 | 112 | ||
110 | check_scoop_reg(sdev); | ||
111 | sdev->scoop_gpwr = SCOOP_REG(sdev->base, SCOOP_GPWR); | ||
112 | SCOOP_REG(sdev->base, SCOOP_GPWR) = (sdev->scoop_gpwr & ~sdev->suspend_clr) | sdev->suspend_set; | ||
113 | } | ||
114 | return 0; | 113 | return 0; |
115 | } | 114 | } |
116 | 115 | ||
117 | static int scoop_resume(struct device *dev, uint32_t level) | 116 | static int scoop_resume(struct device *dev) |
118 | { | 117 | { |
119 | if (level == RESUME_POWER_ON) { | 118 | struct scoop_dev *sdev = dev_get_drvdata(dev); |
120 | struct scoop_dev *sdev = dev_get_drvdata(dev); | 119 | |
120 | check_scoop_reg(sdev); | ||
121 | SCOOP_REG(sdev->base,SCOOP_GPWR) = sdev->scoop_gpwr; | ||
121 | 122 | ||
122 | check_scoop_reg(sdev); | ||
123 | SCOOP_REG(sdev->base,SCOOP_GPWR) = sdev->scoop_gpwr; | ||
124 | } | ||
125 | return 0; | 123 | return 0; |
126 | } | 124 | } |
127 | #else | 125 | #else |