irq.h 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  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, load_profile_irq, int, unsigned int)
  15. static inline void __disable_irq(unsigned int irq)
  16. {
  17. BTFIXUP_CALL(disable_irq)(irq);
  18. }
  19. static inline void __enable_irq(unsigned int irq)
  20. {
  21. BTFIXUP_CALL(enable_irq)(irq);
  22. }
  23. static inline void disable_pil_irq(unsigned int irq)
  24. {
  25. BTFIXUP_CALL(disable_pil_irq)(irq);
  26. }
  27. static inline void enable_pil_irq(unsigned int irq)
  28. {
  29. BTFIXUP_CALL(enable_pil_irq)(irq);
  30. }
  31. static inline void clear_clock_irq(void)
  32. {
  33. BTFIXUP_CALL(clear_clock_irq)();
  34. }
  35. static inline void load_profile_irq(int cpu, int limit)
  36. {
  37. BTFIXUP_CALL(load_profile_irq)(cpu, limit);
  38. }
  39. extern void (*sparc_init_timers)(irq_handler_t lvl10_irq);
  40. extern void claim_ticker14(irq_handler_t irq_handler,
  41. int irq,
  42. unsigned int timeout);
  43. #ifdef CONFIG_SMP
  44. BTFIXUPDEF_CALL(void, set_cpu_int, int, int)
  45. BTFIXUPDEF_CALL(void, clear_cpu_int, int, int)
  46. BTFIXUPDEF_CALL(void, set_irq_udt, int)
  47. #define set_cpu_int(cpu,level) BTFIXUP_CALL(set_cpu_int)(cpu,level)
  48. #define clear_cpu_int(cpu,level) BTFIXUP_CALL(clear_cpu_int)(cpu,level)
  49. #define set_irq_udt(cpu) BTFIXUP_CALL(set_irq_udt)(cpu)
  50. #endif