'\" t .\" Title: struct irq_chip .\" Author: .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: May 2018 .\" Manual: Structures .\" Source: Kernel Hackers Manual 3.16.56 .\" Language: English .\" .TH "STRUCT IRQ_CHIP" "9" "May 2018" "Kernel Hackers Manual 3\&.16\&" "Structures" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "NAME" struct_irq_chip \- hardware interrupt chip descriptor .SH "SYNOPSIS" .sp .nf 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_calc_mask) (struct irq_data *data); void (* irq_print_chip) (struct irq_data *data, struct seq_file *p); int (* irq_request_resources) (struct irq_data *data); void (* irq_release_resources) (struct irq_data *data); unsigned long flags; }; .fi .SH "MEMBERS" .PP name .RS 4 name for /proc/interrupts .RE .PP irq_startup .RS 4 start up the interrupt (defaults to \->enable if NULL) .RE .PP irq_shutdown .RS 4 shut down the interrupt (defaults to \->disable if NULL) .RE .PP irq_enable .RS 4 enable the interrupt (defaults to chip\->unmask if NULL) .RE .PP irq_disable .RS 4 disable the interrupt .RE .PP irq_ack .RS 4 start of a new interrupt .RE .PP irq_mask .RS 4 mask an interrupt source .RE .PP irq_mask_ack .RS 4 ack and mask an interrupt source .RE .PP irq_unmask .RS 4 unmask an interrupt source .RE .PP irq_eoi .RS 4 end of interrupt .RE .PP irq_set_affinity .RS 4 set the CPU affinity on SMP machines .RE .PP irq_retrigger .RS 4 resend an IRQ to the CPU .RE .PP irq_set_type .RS 4 set the flow type (IRQ_TYPE_LEVEL/etc\&.) of an IRQ .RE .PP irq_set_wake .RS 4 enable/disable power\-management wake\-on of an IRQ .RE .PP irq_bus_lock .RS 4 function to lock access to slow bus (i2c) chips .RE .PP irq_bus_sync_unlock .RS 4 function to sync and unlock slow bus (i2c) chips .RE .PP irq_cpu_online .RS 4 configure an interrupt source for a secondary CPU .RE .PP irq_cpu_offline .RS 4 un\-configure an interrupt source for a secondary CPU .RE .PP irq_suspend .RS 4 function called from core code on suspend once per chip .RE .PP irq_resume .RS 4 function called from core code on resume once per chip .RE .PP irq_pm_shutdown .RS 4 function called from core code on shutdown once per chip .RE .PP irq_calc_mask .RS 4 Optional function to set irq_data\&.mask for special cases .RE .PP irq_print_chip .RS 4 optional to print special chip info in show_interrupts .RE .PP irq_request_resources .RS 4 optional to request resources before calling any other callback related to this irq .RE .PP irq_release_resources .RS 4 optional to release resources acquired with irq_request_resources .RE .PP flags .RS 4 chip specific flags .RE .SH "AUTHORS" .PP \fBThomas Gleixner\fR <\&tglx@linutronix.de\&> .RS 4 Author. .RE .PP \fBIngo Molnar\fR <\&mingo@elte.hu\&> .RS 4 Author. .RE .SH "COPYRIGHT" .br