diff options
Diffstat (limited to 'drivers/clocksource/timer-imx-gpt.c')
-rw-r--r-- | drivers/clocksource/timer-imx-gpt.c | 17 |
1 files changed, 0 insertions, 17 deletions
diff --git a/drivers/clocksource/timer-imx-gpt.c b/drivers/clocksource/timer-imx-gpt.c index a3d6ccbf4a16..706c0d0ff56c 100644 --- a/drivers/clocksource/timer-imx-gpt.c +++ b/drivers/clocksource/timer-imx-gpt.c | |||
@@ -202,15 +202,8 @@ static int v2_set_next_event(unsigned long evt, | |||
202 | static int mxc_shutdown(struct clock_event_device *ced) | 202 | static int mxc_shutdown(struct clock_event_device *ced) |
203 | { | 203 | { |
204 | struct imx_timer *imxtm = to_imx_timer(ced); | 204 | struct imx_timer *imxtm = to_imx_timer(ced); |
205 | unsigned long flags; | ||
206 | u32 tcn; | 205 | u32 tcn; |
207 | 206 | ||
208 | /* | ||
209 | * The timer interrupt generation is disabled at least | ||
210 | * for enough time to call mxc_set_next_event() | ||
211 | */ | ||
212 | local_irq_save(flags); | ||
213 | |||
214 | /* Disable interrupt in GPT module */ | 207 | /* Disable interrupt in GPT module */ |
215 | imxtm->gpt->gpt_irq_disable(imxtm); | 208 | imxtm->gpt->gpt_irq_disable(imxtm); |
216 | 209 | ||
@@ -225,21 +218,12 @@ static int mxc_shutdown(struct clock_event_device *ced) | |||
225 | printk(KERN_INFO "%s: changing mode\n", __func__); | 218 | printk(KERN_INFO "%s: changing mode\n", __func__); |
226 | #endif /* DEBUG */ | 219 | #endif /* DEBUG */ |
227 | 220 | ||
228 | local_irq_restore(flags); | ||
229 | |||
230 | return 0; | 221 | return 0; |
231 | } | 222 | } |
232 | 223 | ||
233 | static int mxc_set_oneshot(struct clock_event_device *ced) | 224 | static int mxc_set_oneshot(struct clock_event_device *ced) |
234 | { | 225 | { |
235 | struct imx_timer *imxtm = to_imx_timer(ced); | 226 | struct imx_timer *imxtm = to_imx_timer(ced); |
236 | unsigned long flags; | ||
237 | |||
238 | /* | ||
239 | * The timer interrupt generation is disabled at least | ||
240 | * for enough time to call mxc_set_next_event() | ||
241 | */ | ||
242 | local_irq_save(flags); | ||
243 | 227 | ||
244 | /* Disable interrupt in GPT module */ | 228 | /* Disable interrupt in GPT module */ |
245 | imxtm->gpt->gpt_irq_disable(imxtm); | 229 | imxtm->gpt->gpt_irq_disable(imxtm); |
@@ -264,7 +248,6 @@ static int mxc_set_oneshot(struct clock_event_device *ced) | |||
264 | * mode switching | 248 | * mode switching |
265 | */ | 249 | */ |
266 | imxtm->gpt->gpt_irq_enable(imxtm); | 250 | imxtm->gpt->gpt_irq_enable(imxtm); |
267 | local_irq_restore(flags); | ||
268 | 251 | ||
269 | return 0; | 252 | return 0; |
270 | } | 253 | } |