diff options
Diffstat (limited to 'arch/arm/mach-sa1100/neponset.c')
-rw-r--r-- | arch/arm/mach-sa1100/neponset.c | 15 |
1 files changed, 4 insertions, 11 deletions
diff --git a/arch/arm/mach-sa1100/neponset.c b/arch/arm/mach-sa1100/neponset.c index 4cbf9468f654..3a0a1ee2542d 100644 --- a/arch/arm/mach-sa1100/neponset.c +++ b/arch/arm/mach-sa1100/neponset.c | |||
@@ -185,28 +185,21 @@ static int __devinit neponset_probe(struct platform_device *dev) | |||
185 | /* | 185 | /* |
186 | * LDM power management. | 186 | * LDM power management. |
187 | */ | 187 | */ |
188 | static unsigned int neponset_saved_state; | ||
189 | |||
188 | static int neponset_suspend(struct platform_device *dev, pm_message_t state) | 190 | static int neponset_suspend(struct platform_device *dev, pm_message_t state) |
189 | { | 191 | { |
190 | /* | 192 | /* |
191 | * Save state. | 193 | * Save state. |
192 | */ | 194 | */ |
193 | if (!dev->dev.power.saved_state) | 195 | neponset_saved_state = NCR_0; |
194 | dev->dev.power.saved_state = kmalloc(sizeof(unsigned int), GFP_KERNEL); | ||
195 | if (!dev->dev.power.saved_state) | ||
196 | return -ENOMEM; | ||
197 | |||
198 | *(unsigned int *)dev->dev.power.saved_state = NCR_0; | ||
199 | 196 | ||
200 | return 0; | 197 | return 0; |
201 | } | 198 | } |
202 | 199 | ||
203 | static int neponset_resume(struct platform_device *dev) | 200 | static int neponset_resume(struct platform_device *dev) |
204 | { | 201 | { |
205 | if (dev->dev.power.saved_state) { | 202 | NCR_0 = neponset_saved_state; |
206 | NCR_0 = *(unsigned int *)dev->dev.power.saved_state; | ||
207 | kfree(dev->dev.power.saved_state); | ||
208 | dev->dev.power.saved_state = NULL; | ||
209 | } | ||
210 | 203 | ||
211 | return 0; | 204 | return 0; |
212 | } | 205 | } |