Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Functions
devres.c File Reference
#include <linux/module.h>
#include <linux/interrupt.h>
#include <linux/device.h>
#include <linux/gfp.h>

Go to the source code of this file.

Data Structures

struct  irq_devres
 

Functions

int devm_request_threaded_irq (struct device *dev, unsigned int irq, irq_handler_t handler, irq_handler_t thread_fn, unsigned long irqflags, const char *devname, void *dev_id)
 
 EXPORT_SYMBOL (devm_request_threaded_irq)
 
void devm_free_irq (struct device *dev, unsigned int irq, void *dev_id)
 
 EXPORT_SYMBOL (devm_free_irq)
 

Function Documentation

void devm_free_irq ( struct device dev,
unsigned int  irq,
void dev_id 
)

devm_free_irq - free an interrupt : device to free interrupt for : Interrupt line to free : Device identity to free

Except for the extra argument, this function takes the same arguments and performs the same function as free_irq(). This function instead of free_irq() should be used to manually free IRQs allocated with devm_request_irq().

Definition at line 86 of file devres.c.

int devm_request_threaded_irq ( struct device dev,
unsigned int  irq,
irq_handler_t  handler,
irq_handler_t  thread_fn,
unsigned long  irqflags,
const char devname,
void dev_id 
)

devm_request_threaded_irq - allocate an interrupt line for a managed device : device to request interrupt for : Interrupt line to allocate : Function to be called when the IRQ occurs : function to be called in a threaded interrupt context. NULL for devices which handle everything in : Interrupt type flags : An ascii name for the claiming device : A cookie passed back to the handler function

Except for the extra argument, this function takes the same arguments and performs the same function as request_irq(). IRQs requested with this function will be automatically freed on driver detach.

If an IRQ allocated with this function needs to be freed separately, devm_free_irq() must be used.

Definition at line 47 of file devres.c.

EXPORT_SYMBOL ( devm_request_threaded_irq  )
EXPORT_SYMBOL ( devm_free_irq  )