blob: f56a62817bca691454993c4d1ab432c9db26f1f6 [file] [log] [blame]
The Android Open Source Project1dc9e472009-03-03 19:28:35 -08001/****************************************************************************
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 ***
Ben Cheng654325d2012-03-07 21:13:49 -080010 *** 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 ***
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080017 ****************************************************************************
18 ****************************************************************************/
19#ifndef _LINUX_IRQ_H
20#define _LINUX_IRQ_H
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080021#include <linux/smp.h>
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080022#include <linux/linkage.h>
Ben Cheng654325d2012-03-07 21:13:49 -080023/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080024#include <linux/cache.h>
25#include <linux/spinlock.h>
26#include <linux/cpumask.h>
27#include <linux/irqreturn.h>
Ben Cheng654325d2012-03-07 21:13:49 -080028/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080029#include <asm/irq.h>
30#include <asm/ptrace.h>
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080031#define IRQ_TYPE_NONE 0x00000000
32#define IRQ_TYPE_EDGE_RISING 0x00000001
Ben Cheng654325d2012-03-07 21:13:49 -080033/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080034#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
Ben Cheng654325d2012-03-07 21:13:49 -080038/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080039#define IRQ_TYPE_SENSE_MASK 0x0000000f
40#define IRQ_TYPE_PROBE 0x00000010
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080041#define IRQ_INPROGRESS 0x00010000
42#define IRQ_DISABLED 0x00020000
Ben Cheng654325d2012-03-07 21:13:49 -080043/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080044#define IRQ_PENDING 0x00040000
45#define IRQ_REPLAY 0x00080000
46#define IRQ_AUTODETECT 0x00100000
47#define IRQ_WAITING 0x00200000
Ben Cheng654325d2012-03-07 21:13:49 -080048/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080049#define IRQ_LEVEL 0x00400000
50#define IRQ_MASKED 0x00800000
51#define IRQ_PER_CPU 0x01000000
52#define CHECK_IRQ_PER_CPU(var) 0
Ben Cheng654325d2012-03-07 21:13:49 -080053/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080054#define IRQ_NOPROBE 0x02000000
55#define IRQ_NOREQUEST 0x04000000
56#define IRQ_NOAUTOEN 0x08000000
57#define IRQ_DELAYED_DISABLE 0x10000000
Ben Cheng654325d2012-03-07 21:13:49 -080058/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080059#define IRQ_WAKEUP 0x20000000
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080060struct proc_dir_entry;
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080061struct irq_chip {
62 const char *name;
Ben Cheng654325d2012-03-07 21:13:49 -080063/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080064 unsigned int (*startup)(unsigned int irq);
65 void (*shutdown)(unsigned int irq);
66 void (*enable)(unsigned int irq);
67 void (*disable)(unsigned int irq);
Ben Cheng654325d2012-03-07 21:13:49 -080068/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080069 void (*ack)(unsigned int irq);
70 void (*mask)(unsigned int irq);
71 void (*mask_ack)(unsigned int irq);
72 void (*unmask)(unsigned int irq);
Ben Cheng654325d2012-03-07 21:13:49 -080073/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080074 void (*eoi)(unsigned int irq);
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080075 void (*end)(unsigned int irq);
76 void (*set_affinity)(unsigned int irq, cpumask_t dest);
77 int (*retrigger)(unsigned int irq);
Ben Cheng654325d2012-03-07 21:13:49 -080078/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080079 int (*set_type)(unsigned int irq, unsigned int flow_type);
80 int (*set_wake)(unsigned int irq, unsigned int on);
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080081 const char *typename;
82};
Ben Cheng654325d2012-03-07 21:13:49 -080083/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080084struct irq_desc {
85 void fastcall (*handle_irq)(unsigned int irq,
86 struct irq_desc *desc,
87 struct pt_regs *regs);
Ben Cheng654325d2012-03-07 21:13:49 -080088/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080089 struct irq_chip *chip;
90 void *handler_data;
91 void *chip_data;
92 struct irqaction *action;
Ben Cheng654325d2012-03-07 21:13:49 -080093/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080094 unsigned int status;
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080095 unsigned int depth;
96 unsigned int wake_depth;
97 unsigned int irq_count;
Ben Cheng654325d2012-03-07 21:13:49 -080098/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080099 unsigned int irqs_unhandled;
100 spinlock_t lock;
101} ____cacheline_aligned;
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800102#define hw_interrupt_type irq_chip
Ben Cheng654325d2012-03-07 21:13:49 -0800103/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800104typedef struct irq_chip hw_irq_controller;
105#define no_irq_type no_irq_chip
106typedef struct irq_desc irq_desc_t;
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800107#include <asm/hw_irq.h>
Ben Cheng654325d2012-03-07 21:13:49 -0800108/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800109#endif