Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Functions
generic-chip.c File Reference
#include <linux/io.h>
#include <linux/irq.h>
#include <linux/slab.h>
#include <linux/export.h>
#include <linux/interrupt.h>
#include <linux/kernel_stat.h>
#include <linux/syscore_ops.h>
#include "internals.h"

Go to the source code of this file.

Functions

void irq_gc_noop (struct irq_data *d)
 
void irq_gc_mask_disable_reg (struct irq_data *d)
 
void irq_gc_mask_set_bit (struct irq_data *d)
 
void irq_gc_mask_clr_bit (struct irq_data *d)
 
void irq_gc_unmask_enable_reg (struct irq_data *d)
 
void irq_gc_ack_set_bit (struct irq_data *d)
 
void irq_gc_ack_clr_bit (struct irq_data *d)
 
void irq_gc_mask_disable_reg_and_ack (struct irq_data *d)
 
void irq_gc_eoi (struct irq_data *d)
 
int irq_gc_set_wake (struct irq_data *d, unsigned int on)
 

: Name of the irq chip

irq_alloc_generic_chip - Allocate a generic chip and initialize it

: Number of irq_chip_type instances associated with this : Interrupt base nr for this chip : Register base address (virtual) : Default flow handler associated with this chip

Returns an initialized irq_chip_generic structure. The chip defaults to the primary (index 0) irq_chip_type and

#define irq_gc_suspend   NULL
 
#define irq_gc_resume   NULL
 
struct irq_chip_generic * irq_alloc_generic_chip (const char *name, int num_ct, unsigned int irq_base, void __iomem *reg_base, irq_flow_handler_t handler)
 
 EXPORT_SYMBOL_GPL (irq_alloc_generic_chip)
 
void irq_setup_generic_chip (struct irq_chip_generic *gc, u32 msk, enum irq_gc_flags flags, unsigned int clr, unsigned int set)
 
 EXPORT_SYMBOL_GPL (irq_setup_generic_chip)
 
int irq_setup_alt_chip (struct irq_data *d, unsigned int type)
 
 EXPORT_SYMBOL_GPL (irq_setup_alt_chip)
 
void irq_remove_generic_chip (struct irq_chip_generic *gc, u32 msk, unsigned int clr, unsigned int set)
 
 EXPORT_SYMBOL_GPL (irq_remove_generic_chip)
 
 device_initcall (irq_gc_init_ops)
 

Macro Definition Documentation

#define irq_gc_resume   NULL

Definition at line 347 of file generic-chip.c.

#define irq_gc_suspend   NULL

Definition at line 346 of file generic-chip.c.

Function Documentation

device_initcall ( irq_gc_init_ops  )
EXPORT_SYMBOL_GPL ( irq_alloc_generic_chip  )
EXPORT_SYMBOL_GPL ( irq_setup_generic_chip  )
EXPORT_SYMBOL_GPL ( irq_setup_alt_chip  )
EXPORT_SYMBOL_GPL ( irq_remove_generic_chip  )
struct irq_chip_generic* irq_alloc_generic_chip ( const char name,
int  num_ct,
unsigned int  irq_base,
void __iomem reg_base,
irq_flow_handler_t  handler 
)
read

Definition at line 198 of file generic-chip.c.

void irq_gc_ack_clr_bit ( struct irq_data d)

irq_gc_ack_clr_bit - Ack pending interrupt via clearing bit : irq_data

Definition at line 122 of file generic-chip.c.

void irq_gc_ack_set_bit ( struct irq_data d)

irq_gc_ack_set_bit - Ack pending interrupt via setting bit : irq_data

Definition at line 108 of file generic-chip.c.

void irq_gc_eoi ( struct irq_data d)

irq_gc_eoi - EOI interrupt : irq_data

Definition at line 151 of file generic-chip.c.

void irq_gc_mask_clr_bit ( struct irq_data d)

irq_gc_mask_set_mask_bit - Mask chip via clearing bit in mask register : irq_data

Chip has a single mask register. Values of this register are cached and protected by gc->lock

Definition at line 75 of file generic-chip.c.

void irq_gc_mask_disable_reg ( struct irq_data d)

irq_gc_mask_disable_reg - Mask chip via disable register : irq_data

Chip has separate enable/disable registers instead of a single mask register.

Definition at line 39 of file generic-chip.c.

void irq_gc_mask_disable_reg_and_ack ( struct irq_data d)

irq_gc_mask_disable_reg_and_ack- Mask and ack pending interrupt : irq_data

Definition at line 136 of file generic-chip.c.

void irq_gc_mask_set_bit ( struct irq_data d)

irq_gc_mask_set_mask_bit - Mask chip via setting bit in mask register : irq_data

Chip has a single mask register. Values of this register are cached and protected by gc->lock

Definition at line 57 of file generic-chip.c.

void irq_gc_noop ( struct irq_data d)

irq_gc_noop - NOOP function : irq_data

Definition at line 28 of file generic-chip.c.

int irq_gc_set_wake ( struct irq_data d,
unsigned int  on 
)

irq_gc_set_wake - Set/clr wake bit for an interrupt : irq_data

For chips where the wake from suspend functionality is not configured in a separate register and the wakeup active state is just stored in a bitmask.

Definition at line 169 of file generic-chip.c.

void irq_gc_unmask_enable_reg ( struct irq_data d)

irq_gc_unmask_enable_reg - Unmask chip via enable register : irq_data

Chip has separate enable/disable registers instead of a single mask register.

Definition at line 93 of file generic-chip.c.

void irq_remove_generic_chip ( struct irq_chip_generic *  gc,
u32  msk,
unsigned int  clr,
unsigned int  set 
)

irq_remove_generic_chip - Remove a chip : Generic irq chip holding all data : Bitmask holding the irqs to initialize relative to gc->irq_base : IRQ_* bits to clear : IRQ_* bits to set

Remove up to 32 interrupts starting from gc->irq_base.

Definition at line 298 of file generic-chip.c.

int irq_setup_alt_chip ( struct irq_data d,
unsigned int  type 
)

irq_setup_alt_chip - Switch to alternative chip : irq_data for this interrupt Flow type to be initialized

Only to be called from chip->irq_set_type() callbacks.

Definition at line 272 of file generic-chip.c.

void irq_setup_generic_chip ( struct irq_chip_generic *  gc,
u32  msk,
enum irq_gc_flags  flags,
unsigned int  clr,
unsigned int  set 
)

irq_setup_generic_chip - Setup a range of interrupts with a generic chip : Generic irq chip holding all data : Bitmask holding the irqs to initialize relative to gc->irq_base : Flags for initialization : IRQ_* bits to clear : IRQ_* bits to set

Set up max. 32 interrupts starting from gc->irq_base. Note, this initializes all interrupts to the primary irq_chip_type and its associated handler.

Definition at line 235 of file generic-chip.c.