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>
311dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define IRQ_TYPE_NONE 0x00000000
321dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define IRQ_TYPE_EDGE_RISING 0x00000001
33654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
341dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define IRQ_TYPE_EDGE_FALLING 0x00000002
351dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define IRQ_TYPE_EDGE_BOTH (IRQ_TYPE_EDGE_FALLING | IRQ_TYPE_EDGE_RISING)
361dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define IRQ_TYPE_LEVEL_HIGH 0x00000004
371dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define IRQ_TYPE_LEVEL_LOW 0x00000008
38654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
391dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define IRQ_TYPE_SENSE_MASK 0x0000000f
401dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define IRQ_TYPE_PROBE 0x00000010
411dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define IRQ_INPROGRESS 0x00010000
421dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define IRQ_DISABLED 0x00020000
43654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
441dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define IRQ_PENDING 0x00040000
451dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define IRQ_REPLAY 0x00080000
461dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define IRQ_AUTODETECT 0x00100000
471dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define IRQ_WAITING 0x00200000
48654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
491dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define IRQ_LEVEL 0x00400000
501dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define IRQ_MASKED 0x00800000
511dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#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 */
541dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define IRQ_NOPROBE 0x02000000
551dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define IRQ_NOREQUEST 0x04000000
561dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define IRQ_NOAUTOEN 0x08000000
571dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define IRQ_DELAYED_DISABLE 0x10000000
58654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
591dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#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