.\" This manpage has been automatically generated by docbook2man
.\" from a DocBook document. This tool can be found at:
.\"
.\" Please send any bug reports, improvements, comments, patches,
.\" etc. to Steve Cheng .
.TH "REQUEST_IRQ" "9" "09 October 2005" "" ""
.SH NAME
request_irq \- allocate an interrupt line
.SH SYNOPSIS
"SYNOPSIS"
.sp
\fB
.sp
int request_irq (unsigned int \fIirq\fB, irqreturn_t (*\fIhandler\fB)
int, void *, struct pt_regs *, unsigned long \fIirqflags\fB, const char * \fIdevname\fB, void * \fIdev_id\fB);
\fR
.SH "ARGUMENTS"
.TP
\fB\fIirq\fB\fR
Interrupt line to allocate
.TP
\fB\fIhandler\fB\fR
Function to be called when the IRQ occurs
.TP
\fB\fIirqflags\fB\fR
Interrupt type flags
.TP
\fB\fIdevname\fB\fR
An ascii name for the claiming device
.TP
\fB\fIdev_id\fB\fR
A cookie passed back to the handler function
.SH "DESCRIPTION"
.PP
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.
.PP
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.
.PP
If your interrupt is shared you must pass a non NULL dev_id
as this is required when freeing the interrupt.
.SH "FLAGS"
.PP
.PP
SA_SHIRQ Interrupt is shared
.PP
SA_INTERRUPT Disable local interrupts while processing
.PP
SA_SAMPLE_RANDOM The interrupt can be used for entropy