Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Functions | Variables
irqdesc.c File Reference
#include <linux/irq.h>
#include <linux/slab.h>
#include <linux/export.h>
#include <linux/interrupt.h>
#include <linux/kernel_stat.h>
#include <linux/radix-tree.h>
#include <linux/bitmap.h>
#include "internals.h"

Go to the source code of this file.

Functions

 EXPORT_SYMBOL_GPL (nr_irqs)
 
int __init early_irq_init (void)
 
struct irq_descirq_to_desc (unsigned int irq)
 
int generic_handle_irq (unsigned int irq)
 
 EXPORT_SYMBOL_GPL (generic_handle_irq)
 
void irq_free_descs (unsigned int from, unsigned int cnt)
 
 EXPORT_SYMBOL_GPL (irq_free_descs)
 
int __ref __irq_alloc_descs (int irq, unsigned int from, unsigned int cnt, int node, struct module *owner)
 
 EXPORT_SYMBOL_GPL (__irq_alloc_descs)
 
int irq_reserve_irqs (unsigned int from, unsigned int cnt)
 
unsigned int irq_get_next_irq (unsigned int offset)
 
struct irq_desc__irq_get_desc_lock (unsigned int irq, unsigned long *flags, bool bus, unsigned int check)
 
void __irq_put_desc_unlock (struct irq_desc *desc, unsigned long flags, bool bus)
 
int irq_set_percpu_devid (unsigned int irq)
 
void dynamic_irq_cleanup (unsigned int irq)
 
unsigned int kstat_irqs_cpu (unsigned int irq, int cpu)
 
unsigned int kstat_irqs (unsigned int irq)
 

Variables

int nr_irqs = NR_IRQS
 
struct irq_desc irq_desc[NR_IRQS__cacheline_aligned_in_smp
 

Function Documentation

int __ref __irq_alloc_descs ( int  irq,
unsigned int  from,
unsigned int  cnt,
int  node,
struct module owner 
)

irq_alloc_descs - allocate and initialize a range of irq descriptors : Allocate for specific irq number if irq >= 0 : Start the search from this irq number : Number of consecutive irqs to allocate. : Preferred node on which the irq descriptor should be allocated : Owning module (can be NULL)

Returns the first irq number or error code

Definition at line 353 of file irqdesc.c.

struct irq_desc* __irq_get_desc_lock ( unsigned int  irq,
unsigned long flags,
bool  bus,
unsigned int  check 
)
read

Definition at line 428 of file irqdesc.c.

void __irq_put_desc_unlock ( struct irq_desc desc,
unsigned long  flags,
bool  bus 
)

Definition at line 451 of file irqdesc.c.

void dynamic_irq_cleanup ( unsigned int  irq)

dynamic_irq_cleanup - cleanup a dynamically allocated irq : irq number to initialize

Definition at line 481 of file irqdesc.c.

int __init early_irq_init ( void  )

Definition at line 251 of file irqdesc.c.

EXPORT_SYMBOL_GPL ( nr_irqs  )
EXPORT_SYMBOL_GPL ( generic_handle_irq  )
EXPORT_SYMBOL_GPL ( irq_free_descs  )
EXPORT_SYMBOL_GPL ( __irq_alloc_descs  )
int generic_handle_irq ( unsigned int  irq)

generic_handle_irq - Invoke the handler for a particular irq : The irq number to handle

Definition at line 308 of file irqdesc.c.

void irq_free_descs ( unsigned int  from,
unsigned int  cnt 
)

irq_free_descs - free irq descriptors : Start of descriptor range : Number of consecutive irqs to free

Definition at line 326 of file irqdesc.c.

unsigned int irq_get_next_irq ( unsigned int  offset)

irq_get_next_irq - get next allocated irq number : where to start the search

Returns next irq number after offset or nr_irqs if none is found.

Definition at line 422 of file irqdesc.c.

int irq_reserve_irqs ( unsigned int  from,
unsigned int  cnt 
)

irq_reserve_irqs - mark irqs allocated : mark from irq number : number of irqs to mark

Returns 0 on success or an appropriate error code

Definition at line 398 of file irqdesc.c.

int irq_set_percpu_devid ( unsigned int  irq)

Definition at line 458 of file irqdesc.c.

struct irq_desc* irq_to_desc ( unsigned int  irq)
read

Definition at line 273 of file irqdesc.c.

unsigned int kstat_irqs ( unsigned int  irq)

Definition at line 499 of file irqdesc.c.

unsigned int kstat_irqs_cpu ( unsigned int  irq,
int  cpu 
)

Definition at line 491 of file irqdesc.c.

Variable Documentation

struct irq_desc irq_desc [NR_IRQS] __cacheline_aligned_in_smp
Initial value:
= {
[0 ... NR_IRQS-1] = {
.handle_irq = handle_bad_irq,
.depth = 1,
}
}

Definition at line 243 of file irqdesc.c.

int nr_irqs = NR_IRQS

Definition at line 96 of file irqdesc.c.