aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/clocksource/timer-imx-gpt.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/clocksource/timer-imx-gpt.c')
-rw-r--r--drivers/clocksource/timer-imx-gpt.c17
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,
202static int mxc_shutdown(struct clock_event_device *ced) 202static 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
233static int mxc_set_oneshot(struct clock_event_device *ced) 224static 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}