mpic_timer.h 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  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. #ifndef __MPIC_TIMER__
  17. #define __MPIC_TIMER__
  18. #include <linux/interrupt.h>
  19. #include <linux/time.h>
  20. struct mpic_timer {
  21. void *dev;
  22. struct cascade_priv *cascade_handle;
  23. unsigned int num;
  24. unsigned int irq;
  25. };
  26. #ifdef CONFIG_MPIC_TIMER
  27. struct mpic_timer *mpic_request_timer(irq_handler_t fn, void *dev,
  28. const struct timeval *time);
  29. void mpic_start_timer(struct mpic_timer *handle);
  30. void mpic_stop_timer(struct mpic_timer *handle);
  31. void mpic_get_remain_time(struct mpic_timer *handle, struct timeval *time);
  32. void mpic_free_timer(struct mpic_timer *handle);
  33. #else
  34. struct mpic_timer *mpic_request_timer(irq_handler_t fn, void *dev,
  35. const struct timeval *time) { return NULL; }
  36. void mpic_start_timer(struct mpic_timer *handle) { }
  37. void mpic_stop_timer(struct mpic_timer *handle) { }
  38. void mpic_get_remain_time(struct mpic_timer *handle, struct timeval *time) { }
  39. void mpic_free_timer(struct mpic_timer *handle) { }
  40. #endif
  41. #endif