Provided by: linux-doc-2.6.15_2.6.15-23.39_all bug

NAME

       request_irq - allocate an interrupt line

SYNOPSIS

       int request_irq  (unsigned int irq,
                          irqreturn_t (*handler) <funcparams>int, void *, struct pt_regs *</funcparams>,
                          unsigned long irqflags, const char * devname,
                          void * dev_id);

ARGUMENTS

       irq    Interrupt line to allocate

       handler
              Function to be called when the IRQ occurs

       irqflags
              Interrupt type flags

       devname
              An ascii name for the claiming device

       dev_id A cookie passed back to the handler function

DESCRIPTION

       This call allocates interrupt resources and enables the interrupt  line
       and  IRQ  handling.  From  the  point  this  call  is made your handler
       function may be invoked. Since your handler  function  must  clear  any
       interrupt  the board raises, you must take care both to initialise your
       hardware and to set up the interrupt handler in the right order.

       Dev_id must be globally unique. Normally the address of the device data
       structure  is used as the cookie. Since the handler receives this value
       it makes sense to use it.

       If your interrupt is shared you must pass a non NULL dev_id as this  is
       required when freeing the interrupt.

FLAGS

       SA_SHIRQ  Interrupt  is  shared  SA_INTERRUPT  Disable local interrupts
       while processing SA_SAMPLE_RANDOM The interrupt can be used for entropy