11dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project/**************************************************************************** 21dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project **************************************************************************** 31dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project *** 41dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project *** This header was automatically generated from a Linux kernel header 51dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project *** of the same name, to make information necessary for userspace to 61dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project *** call into the kernel available to libc. It contains only constants, 71dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project *** structures, and macros generated from the original header, and thus, 81dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project *** contains no copyrightable information. 91dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project *** 10654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng *** To edit the content of this header, modify the corresponding 11654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng *** source file (e.g. under external/kernel-headers/original/) then 12654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng *** run bionic/libc/kernel/tools/update_all.py 13654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng *** 14654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng *** Any manual change here will be lost the next time this script will 15654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng *** be run. You've been warned! 16654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng *** 171dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project **************************************************************************** 181dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project ****************************************************************************/ 191dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#ifndef _LINUX_IRQ_H 201dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define _LINUX_IRQ_H 211dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#include <linux/smp.h> 221dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#include <linux/linkage.h> 23654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 241dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#include <linux/cache.h> 251dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#include <linux/spinlock.h> 261dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#include <linux/cpumask.h> 271dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#include <linux/irqreturn.h> 28654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 291dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#include <asm/irq.h> 301dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#include <asm/ptrace.h> 31c95eb57405d3d2f0e6cfab313aa74b1bad280452Elliott Hughes#define IRQ_TYPE_NONE 0x00000000 32c95eb57405d3d2f0e6cfab313aa74b1bad280452Elliott Hughes#define IRQ_TYPE_EDGE_RISING 0x00000001 33654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 34c95eb57405d3d2f0e6cfab313aa74b1bad280452Elliott Hughes#define IRQ_TYPE_EDGE_FALLING 0x00000002 351dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define IRQ_TYPE_EDGE_BOTH (IRQ_TYPE_EDGE_FALLING | IRQ_TYPE_EDGE_RISING) 36c95eb57405d3d2f0e6cfab313aa74b1bad280452Elliott Hughes#define IRQ_TYPE_LEVEL_HIGH 0x00000004 37c95eb57405d3d2f0e6cfab313aa74b1bad280452Elliott Hughes#define IRQ_TYPE_LEVEL_LOW 0x00000008 38654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 39c95eb57405d3d2f0e6cfab313aa74b1bad280452Elliott Hughes#define IRQ_TYPE_SENSE_MASK 0x0000000f 40c95eb57405d3d2f0e6cfab313aa74b1bad280452Elliott Hughes#define IRQ_TYPE_PROBE 0x00000010 41c95eb57405d3d2f0e6cfab313aa74b1bad280452Elliott Hughes#define IRQ_INPROGRESS 0x00010000 42c95eb57405d3d2f0e6cfab313aa74b1bad280452Elliott Hughes#define IRQ_DISABLED 0x00020000 43654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 44c95eb57405d3d2f0e6cfab313aa74b1bad280452Elliott Hughes#define IRQ_PENDING 0x00040000 45c95eb57405d3d2f0e6cfab313aa74b1bad280452Elliott Hughes#define IRQ_REPLAY 0x00080000 46c95eb57405d3d2f0e6cfab313aa74b1bad280452Elliott Hughes#define IRQ_AUTODETECT 0x00100000 47c95eb57405d3d2f0e6cfab313aa74b1bad280452Elliott Hughes#define IRQ_WAITING 0x00200000 48654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 49c95eb57405d3d2f0e6cfab313aa74b1bad280452Elliott Hughes#define IRQ_LEVEL 0x00400000 50c95eb57405d3d2f0e6cfab313aa74b1bad280452Elliott Hughes#define IRQ_MASKED 0x00800000 51c95eb57405d3d2f0e6cfab313aa74b1bad280452Elliott Hughes#define IRQ_PER_CPU 0x01000000 521dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define CHECK_IRQ_PER_CPU(var) 0 53654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 54c95eb57405d3d2f0e6cfab313aa74b1bad280452Elliott Hughes#define IRQ_NOPROBE 0x02000000 55c95eb57405d3d2f0e6cfab313aa74b1bad280452Elliott Hughes#define IRQ_NOREQUEST 0x04000000 56c95eb57405d3d2f0e6cfab313aa74b1bad280452Elliott Hughes#define IRQ_NOAUTOEN 0x08000000 57c95eb57405d3d2f0e6cfab313aa74b1bad280452Elliott Hughes#define IRQ_DELAYED_DISABLE 0x10000000 58654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 59c95eb57405d3d2f0e6cfab313aa74b1bad280452Elliott Hughes#define IRQ_WAKEUP 0x20000000 601dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectstruct proc_dir_entry; 611dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectstruct irq_chip { 621dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project const char *name; 63654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 641dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project unsigned int (*startup)(unsigned int irq); 651dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project void (*shutdown)(unsigned int irq); 661dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project void (*enable)(unsigned int irq); 671dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project void (*disable)(unsigned int irq); 68654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 691dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project void (*ack)(unsigned int irq); 701dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project void (*mask)(unsigned int irq); 711dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project void (*mask_ack)(unsigned int irq); 721dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project void (*unmask)(unsigned int irq); 73654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 741dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project void (*eoi)(unsigned int irq); 751dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project void (*end)(unsigned int irq); 761dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project void (*set_affinity)(unsigned int irq, cpumask_t dest); 771dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project int (*retrigger)(unsigned int irq); 78654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 791dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project int (*set_type)(unsigned int irq, unsigned int flow_type); 801dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project int (*set_wake)(unsigned int irq, unsigned int on); 811dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project const char *typename; 821dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project}; 83654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 841dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectstruct irq_desc { 851dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project void fastcall (*handle_irq)(unsigned int irq, 861dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project struct irq_desc *desc, 871dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project struct pt_regs *regs); 88654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 891dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project struct irq_chip *chip; 901dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project void *handler_data; 911dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project void *chip_data; 921dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project struct irqaction *action; 93654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 941dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project unsigned int status; 951dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project unsigned int depth; 961dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project unsigned int wake_depth; 971dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project unsigned int irq_count; 98654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 991dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project unsigned int irqs_unhandled; 1001dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project spinlock_t lock; 1011dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project} ____cacheline_aligned; 1021dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define hw_interrupt_type irq_chip 103654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 1041dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projecttypedef struct irq_chip hw_irq_controller; 1051dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define no_irq_type no_irq_chip 1061dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projecttypedef struct irq_desc irq_desc_t; 1071dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#include <asm/hw_irq.h> 108654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 1091dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#endif 110