STRUCT IRQ_CHIP_TYPE(9) Structures STRUCT IRQ_CHIP_TYPE(9)NAME
struct_irq_chip_type - Generic interrupt chip instance for a flow type
SYNOPSIS
struct irq_chip_type {
struct irq_chip chip;
struct irq_chip_regs regs;
irq_flow_handler_t handler;
u32 type;
};
MEMBERS
chip
The real interrupt chip which provides the callbacks
regs
Register offsets for this chip
handler
Flow handler associated with this chip
type
Chip can handle these flow types
DESCRIPTION
A irq_generic_chip can have several instances of irq_chip_type when it requires different functions and register offsets for different flow
types.
AUTHORS
Thomas Gleixner <tglx@linutronix.de>
Author.
Ingo Molnar <mingo@elte.hu>
Author.
COPYRIGHT Kernel Hackers Manual 3.10 June 2014 STRUCT IRQ_CHIP_TYPE(9)
Check Out this Related Man Page
STRUCT IRQ_CHIP(9) Structures STRUCT IRQ_CHIP(9)NAME
struct_irq_chip - hardware interrupt chip descriptor
SYNOPSIS
struct irq_chip {
const char * name;
unsigned int (* irq_startup) (struct irq_data *data);
void (* irq_shutdown) (struct irq_data *data);
void (* irq_enable) (struct irq_data *data);
void (* irq_disable) (struct irq_data *data);
void (* irq_ack) (struct irq_data *data);
void (* irq_mask) (struct irq_data *data);
void (* irq_mask_ack) (struct irq_data *data);
void (* irq_unmask) (struct irq_data *data);
void (* irq_eoi) (struct irq_data *data);
int (* irq_set_affinity) (struct irq_data *data, const struct cpumask *dest, bool force);
int (* irq_retrigger) (struct irq_data *data);
int (* irq_set_type) (struct irq_data *data, unsigned int flow_type);
int (* irq_set_wake) (struct irq_data *data, unsigned int on);
void (* irq_bus_lock) (struct irq_data *data);
void (* irq_bus_sync_unlock) (struct irq_data *data);
void (* irq_cpu_online) (struct irq_data *data);
void (* irq_cpu_offline) (struct irq_data *data);
void (* irq_suspend) (struct irq_data *data);
void (* irq_resume) (struct irq_data *data);
void (* irq_pm_shutdown) (struct irq_data *data);
void (* irq_print_chip) (struct irq_data *data, struct seq_file *p);
unsigned long flags;
};
MEMBERS
name
name for /proc/interrupts
irq_startup
start up the interrupt (defaults to ->enable if NULL)
irq_shutdown
shut down the interrupt (defaults to ->disable if NULL)
irq_enable
enable the interrupt (defaults to chip->unmask if NULL)
irq_disable
disable the interrupt
irq_ack
start of a new interrupt
irq_mask
mask an interrupt source
irq_mask_ack
ack and mask an interrupt source
irq_unmask
unmask an interrupt source
irq_eoi
end of interrupt
irq_set_affinity
set the CPU affinity on SMP machines
irq_retrigger
resend an IRQ to the CPU
irq_set_type
set the flow type (IRQ_TYPE_LEVEL/etc.) of an IRQ
irq_set_wake
enable/disable power-management wake-on of an IRQ
irq_bus_lock
function to lock access to slow bus (i2c) chips
irq_bus_sync_unlock
function to sync and unlock slow bus (i2c) chips
irq_cpu_online
configure an interrupt source for a secondary CPU
irq_cpu_offline
un-configure an interrupt source for a secondary CPU
irq_suspend
function called from core code on suspend once per chip
irq_resume
function called from core code on resume once per chip
irq_pm_shutdown
function called from core code on shutdown once per chip
irq_print_chip
optional to print special chip info in show_interrupts
flags
chip specific flags
AUTHORS
Thomas Gleixner <tglx@linutronix.de>
Author.
Ingo Molnar <mingo@elte.hu>
Author.
COPYRIGHT Kernel Hackers Manual 3.10 June 2014 STRUCT IRQ_CHIP(9)