• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /****************************************************************************
2  ****************************************************************************
3  ***
4  ***   This header was automatically generated from a Linux kernel header
5  ***   of the same name, to make information necessary for userspace to
6  ***   call into the kernel available to libc.  It contains only constants,
7  ***   structures, and macros generated from the original header, and thus,
8  ***   contains no copyrightable information.
9  ***
10  ***   To edit the content of this header, modify the corresponding
11  ***   source file (e.g. under external/kernel-headers/original/) then
12  ***   run bionic/libc/kernel/tools/update_all.py
13  ***
14  ***   Any manual change here will be lost the next time this script will
15  ***   be run. You've been warned!
16  ***
17  ****************************************************************************
18  ****************************************************************************/
19 #ifndef _LINUX_IRQ_H
20 #define _LINUX_IRQ_H
21 #include <linux/smp.h>
22 #include <linux/linkage.h>
23 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
24 #include <linux/cache.h>
25 #include <linux/spinlock.h>
26 #include <linux/cpumask.h>
27 #include <linux/irqreturn.h>
28 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
29 #include <asm/irq.h>
30 #include <asm/ptrace.h>
31 #define IRQ_TYPE_NONE 0x00000000
32 #define IRQ_TYPE_EDGE_RISING 0x00000001
33 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
34 #define IRQ_TYPE_EDGE_FALLING 0x00000002
35 #define IRQ_TYPE_EDGE_BOTH (IRQ_TYPE_EDGE_FALLING | IRQ_TYPE_EDGE_RISING)
36 #define IRQ_TYPE_LEVEL_HIGH 0x00000004
37 #define IRQ_TYPE_LEVEL_LOW 0x00000008
38 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
39 #define IRQ_TYPE_SENSE_MASK 0x0000000f
40 #define IRQ_TYPE_PROBE 0x00000010
41 #define IRQ_INPROGRESS 0x00010000
42 #define IRQ_DISABLED 0x00020000
43 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
44 #define IRQ_PENDING 0x00040000
45 #define IRQ_REPLAY 0x00080000
46 #define IRQ_AUTODETECT 0x00100000
47 #define IRQ_WAITING 0x00200000
48 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
49 #define IRQ_LEVEL 0x00400000
50 #define IRQ_MASKED 0x00800000
51 #define IRQ_PER_CPU 0x01000000
52 #define CHECK_IRQ_PER_CPU(var) 0
53 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
54 #define IRQ_NOPROBE 0x02000000
55 #define IRQ_NOREQUEST 0x04000000
56 #define IRQ_NOAUTOEN 0x08000000
57 #define IRQ_DELAYED_DISABLE 0x10000000
58 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
59 #define IRQ_WAKEUP 0x20000000
60 struct proc_dir_entry;
61 struct irq_chip {
62  const char *name;
63 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
64  unsigned int (*startup)(unsigned int irq);
65  void (*shutdown)(unsigned int irq);
66  void (*enable)(unsigned int irq);
67  void (*disable)(unsigned int irq);
68 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
69  void (*ack)(unsigned int irq);
70  void (*mask)(unsigned int irq);
71  void (*mask_ack)(unsigned int irq);
72  void (*unmask)(unsigned int irq);
73 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
74  void (*eoi)(unsigned int irq);
75  void (*end)(unsigned int irq);
76  void (*set_affinity)(unsigned int irq, cpumask_t dest);
77  int (*retrigger)(unsigned int irq);
78 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
79  int (*set_type)(unsigned int irq, unsigned int flow_type);
80  int (*set_wake)(unsigned int irq, unsigned int on);
81  const char *typename;
82 };
83 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
84 struct irq_desc {
85  void fastcall (*handle_irq)(unsigned int irq,
86  struct irq_desc *desc,
87  struct pt_regs *regs);
88 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
89  struct irq_chip *chip;
90  void *handler_data;
91  void *chip_data;
92  struct irqaction *action;
93 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
94  unsigned int status;
95  unsigned int depth;
96  unsigned int wake_depth;
97  unsigned int irq_count;
98 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
99  unsigned int irqs_unhandled;
100  spinlock_t lock;
101 } ____cacheline_aligned;
102 #define hw_interrupt_type irq_chip
103 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
104 typedef struct irq_chip hw_irq_controller;
105 #define no_irq_type no_irq_chip
106 typedef struct irq_desc irq_desc_t;
107 #include <asm/hw_irq.h>
108 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
109 #endif
110