Lines Matching defs:timer

3  * MPIC timer driver
60 unsigned int timer_num; /* cascade control timer */
65 struct mpic_timer timer[TIMERS_PER_GROUP];
75 /* cascade timer 0 and 1 */
77 /* cascade timer 1 and 2 */
79 /* cascade timer 2 and 3 */
107 /* detect whether there is a cascade timer available */
124 priv->timer[num].cascade_handle = casc_priv;
126 /* set timer busy */
129 return &priv->timer[num];
147 casc_priv = priv->timer[num].cascade_handle;
178 /* detect idle timer */
183 /* set ticks to timer */
194 struct mpic_timer *timer;
211 timer = get_cascade_timer(priv, ticks);
212 if (!timer)
215 return timer;
219 /* one timer: Reverse allocation */
223 /* set timer busy */
225 /* set ticks & stop timer */
229 priv->timer[num].cascade_handle = NULL;
231 return &priv->timer[num];
241 * mpic_start_timer - start hardware timer
242 * @handle: the timer to be started.
250 struct timer_group_priv, timer[handle->num]);
257 * mpic_stop_timer - stop hardware timer
258 * @handle: the timer to be stoped
260 * The timer periodically generates an interrupt. Unless user stops the timer.
265 struct timer_group_priv, timer[handle->num]);
270 casc_priv = priv->timer[handle->num].cascade_handle;
281 * mpic_get_remain_time - get timer time
282 * @handle: the timer to be selected.
283 * @time: time for timer
285 * Query timer remaining time.
290 struct timer_group_priv, timer[handle->num]);
296 casc_priv = priv->timer[handle->num].cascade_handle;
313 * mpic_free_timer - free hardware timer
314 * @handle: the timer to be removed.
316 * Free the timer.
323 struct timer_group_priv, timer[handle->num]);
330 casc_priv = priv->timer[handle->num].cascade_handle;
332 free_irq(priv->timer[handle->num].irq, priv->timer[handle->num].dev);
341 priv->timer[handle->num].cascade_handle = NULL;
350 * mpic_request_timer - get a hardware timer
353 * @time: time for timer
375 IRQF_TRIGGER_LOW, "global-timer", dev);
451 /* Set timer idle */
453 priv->timer[offset + j].irq = irq;
454 priv->timer[offset + j].num = offset + j;
474 if (of_device_is_compatible(np, "fsl,mpic-global-timer"))
479 pr_err("%pOF: cannot ioremap timer register address.\n", np);
493 pr_err("%pOF: cannot get timer frequency.\n", np);
499 pr_err("%pOF: cannot get timer irqs.\n", np);
505 /* Init FSL timer hardware */
528 /* Init FSL timer hardware */
535 { .compatible = "fsl,mpic-global-timer", },