irq.h 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. #include <asm/btfixup.h>
  2. /* Dave Redman (djhr@tadpole.co.uk)
  3. * changed these to function pointers.. it saves cycles and will allow
  4. * the irq dependencies to be split into different files at a later date
  5. * sun4c_irq.c, sun4m_irq.c etc so we could reduce the kernel size.
  6. * Jakub Jelinek (jj@sunsite.mff.cuni.cz)
  7. * Changed these to btfixup entities... It saves cycles :)
  8. */
  9. BTFIXUPDEF_CALL(void, disable_irq, unsigned int)
  10. BTFIXUPDEF_CALL(void, enable_irq, unsigned int)
  11. BTFIXUPDEF_CALL(void, disable_pil_irq, unsigned int)
  12. BTFIXUPDEF_CALL(void, enable_pil_irq, unsigned int)
  13. BTFIXUPDEF_CALL(void, clear_clock_irq, void)
  14. BTFIXUPDEF_CALL(void, clear_profile_irq, int)
  15. BTFIXUPDEF_CALL(void, load_profile_irq, int, unsigned int)
  16. static inline void __disable_irq(unsigned int irq)
  17. {
  18. BTFIXUP_CALL(disable_irq)(irq);
  19. }
  20. static inline void __enable_irq(unsigned int irq)
  21. {
  22. BTFIXUP_CALL(enable_irq)(irq);
  23. }
  24. static inline void disable_pil_irq(unsigned int irq)
  25. {
  26. BTFIXUP_CALL(disable_pil_irq)(irq);
  27. }
  28. static inline void enable_pil_irq(unsigned int irq)
  29. {
  30. BTFIXUP_CALL(enable_pil_irq)(irq);
  31. }
  32. static inline void clear_clock_irq(void)
  33. {
  34. BTFIXUP_CALL(clear_clock_irq)();
  35. }
  36. static inline void clear_profile_irq(int irq)
  37. {
  38. BTFIXUP_CALL(clear_profile_irq)(irq);
  39. }
  40. static inline void load_profile_irq(int cpu, int limit)
  41. {
  42. BTFIXUP_CALL(load_profile_irq)(cpu, limit);
  43. }
  44. extern void (*sparc_init_timers)(irq_handler_t lvl10_irq);
  45. extern void claim_ticker14(irq_handler_t irq_handler,
  46. int irq,
  47. unsigned int timeout);
  48. #ifdef CONFIG_SMP
  49. BTFIXUPDEF_CALL(void, set_cpu_int, int, int)
  50. BTFIXUPDEF_CALL(void, clear_cpu_int, int, int)
  51. BTFIXUPDEF_CALL(void, set_irq_udt, int)
  52. #define set_cpu_int(cpu,level) BTFIXUP_CALL(set_cpu_int)(cpu,level)
  53. #define clear_cpu_int(cpu,level) BTFIXUP_CALL(clear_cpu_int)(cpu,level)
  54. #define set_irq_udt(cpu) BTFIXUP_CALL(set_irq_udt)(cpu)
  55. #endif