Home | History | Annotate | Download | only in linux
      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