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