Linux 4.13.16
[linux/fpc-iii.git] / arch / powerpc / include / asm / mpic_timer.h
blob0e23cd4ac8aabc4bbc02aca3f674e7651c1cbf51
1 /*
2 * arch/powerpc/include/asm/mpic_timer.h
4 * Header file for Mpic Global Timer
6 * Copyright 2013 Freescale Semiconductor, Inc.
8 * Author: Wang Dongsheng <Dongsheng.Wang@freescale.com>
9 * Li Yang <leoli@freescale.com>
11 * This program is free software; you can redistribute it and/or modify it
12 * under the terms of the GNU General Public License as published by the
13 * Free Software Foundation; either version 2 of the License, or (at your
14 * option) any later version.
17 #ifndef __MPIC_TIMER__
18 #define __MPIC_TIMER__
20 #include <linux/interrupt.h>
21 #include <linux/time.h>
23 struct mpic_timer {
24 void *dev;
25 struct cascade_priv *cascade_handle;
26 unsigned int num;
27 unsigned int irq;
30 #ifdef CONFIG_MPIC_TIMER
31 struct mpic_timer *mpic_request_timer(irq_handler_t fn, void *dev,
32 const struct timeval *time);
33 void mpic_start_timer(struct mpic_timer *handle);
34 void mpic_stop_timer(struct mpic_timer *handle);
35 void mpic_get_remain_time(struct mpic_timer *handle, struct timeval *time);
36 void mpic_free_timer(struct mpic_timer *handle);
37 #else
38 struct mpic_timer *mpic_request_timer(irq_handler_t fn, void *dev,
39 const struct timeval *time) { return NULL; }
40 void mpic_start_timer(struct mpic_timer *handle) { }
41 void mpic_stop_timer(struct mpic_timer *handle) { }
42 void mpic_get_remain_time(struct mpic_timer *handle, struct timeval *time) { }
43 void mpic_free_timer(struct mpic_timer *handle) { }
44 #endif
46 #endif