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 23struct 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 31struct mpic_timer *mpic_request_timer(irq_handler_t fn, void *dev, 32 const struct timeval *time); 33void mpic_start_timer(struct mpic_timer *handle); 34void mpic_stop_timer(struct mpic_timer *handle); 35void mpic_get_remain_time(struct mpic_timer *handle, struct timeval *time); 36void mpic_free_timer(struct mpic_timer *handle); 37#else 38struct mpic_timer *mpic_request_timer(irq_handler_t fn, void *dev, 39 const struct timeval *time) { return NULL; } 40void mpic_start_timer(struct mpic_timer *handle) { } 41void mpic_stop_timer(struct mpic_timer *handle) { } 42void mpic_get_remain_time(struct mpic_timer *handle, struct timeval *time) { } 43void mpic_free_timer(struct mpic_timer *handle) { } 44#endif 45 46#endif 47