rtl_free_irq

Name

rtl_free_irq, rtl_request_irq -- install and remove realtime interrupt handlers

Synopsis

       #include <rtl_core.h>

       int rtl_request_irq
            (unsigned int irq, 
            unsigned int (*handler)(unsigned int irq, struct pt_regs *regs));
       int rtl_free_irq(unsigned int irq);

DESCRIPTION

These functions are specific to Realtime Linux. The sigaction interface is a higher level alternative. rtl_request_irq registers the function handler as the interrupt handler for IRQ level irq. The handler will be executed with hardware interrupts disabled.

Note: The interrupt will be disabled during the handler execution. If it is necessary to receive further interrupts from this device, you must reenable the interrupt line with the rtl_hard_enable_irq(3) function. It is almost always a terrible mistake to call rtl_allow_irqs in an interrupt handler.

rtl_free_irq removes the interrupt handler for IRQ level irq.

RETURN VALUE

All functions return 0 on success and a negative error code on error.

ERRORS

-EBUSY

rtl_request_irq: Interrupt handler is already installed for this interrupt level.

-EINVAL

rtl_free_irq: There is no handler currently installed for this interrupt level

AUTHOR

Michael Barabanov (baraban@fsmlabs.com)

SEE ALSO

sigaction(2), rtl_hard_enable_irq(3), rtl_hard_disable_irq(3)

©2001 FSMLabs Inc.

All rights reserved.