1 /* 2 * arch/powerpc/include/asm/mpic_timer.h 3 * 4 * Header file for Mpic Global Timer 5 * 6 * Copyright 2013 Freescale Semiconductor, Inc. 7 * 8 * Author: Wang Dongsheng <Dongsheng.Wang@freescale.com> 9 * Li Yang <leoli@freescale.com> 10 * 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. 15 */ 16 17 #ifndef __MPIC_TIMER__ 18 #define __MPIC_TIMER__ 19 20 #include <linux/interrupt.h> 21 #include <linux/time.h> 22 23 struct mpic_timer { 24 void *dev; 25 struct cascade_priv *cascade_handle; 26 unsigned int num; 27 unsigned int irq; 28 }; 29 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 45 46 #endif 47