| The Android Open Source Project | 1dc9e47 | 2009-03-03 19:28:35 -0800 | [diff] [blame] | 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 | **************************************************************************** | 
|  | 11 | ****************************************************************************/ | 
|  | 12 | #ifndef _LINUX_IOPORT_H | 
|  | 13 | #define _LINUX_IOPORT_H | 
|  | 14 |  | 
|  | 15 | #include <linux/compiler.h> | 
|  | 16 | #include <linux/types.h> | 
|  | 17 |  | 
|  | 18 | struct resource { | 
|  | 19 | resource_size_t start; | 
|  | 20 | resource_size_t end; | 
|  | 21 | const char *name; | 
|  | 22 | unsigned long flags; | 
|  | 23 | struct resource *parent, *sibling, *child; | 
|  | 24 | }; | 
|  | 25 |  | 
|  | 26 | struct resource_list { | 
|  | 27 | struct resource_list *next; | 
|  | 28 | struct resource *res; | 
|  | 29 | struct pci_dev *dev; | 
|  | 30 | }; | 
|  | 31 |  | 
|  | 32 | #define IORESOURCE_BITS 0x000000ff | 
|  | 33 |  | 
|  | 34 | #define IORESOURCE_IO 0x00000100 | 
|  | 35 | #define IORESOURCE_MEM 0x00000200 | 
|  | 36 | #define IORESOURCE_IRQ 0x00000400 | 
|  | 37 | #define IORESOURCE_DMA 0x00000800 | 
|  | 38 |  | 
|  | 39 | #define IORESOURCE_PREFETCH 0x00001000 | 
|  | 40 | #define IORESOURCE_READONLY 0x00002000 | 
|  | 41 | #define IORESOURCE_CACHEABLE 0x00004000 | 
|  | 42 | #define IORESOURCE_RANGELENGTH 0x00008000 | 
|  | 43 | #define IORESOURCE_SHADOWABLE 0x00010000 | 
|  | 44 | #define IORESOURCE_BUS_HAS_VGA 0x00080000 | 
|  | 45 |  | 
|  | 46 | #define IORESOURCE_DISABLED 0x10000000 | 
|  | 47 | #define IORESOURCE_UNSET 0x20000000 | 
|  | 48 | #define IORESOURCE_AUTO 0x40000000 | 
|  | 49 | #define IORESOURCE_BUSY 0x80000000 | 
|  | 50 |  | 
|  | 51 | #define IORESOURCE_IRQ_HIGHEDGE (1<<0) | 
|  | 52 | #define IORESOURCE_IRQ_LOWEDGE (1<<1) | 
|  | 53 | #define IORESOURCE_IRQ_HIGHLEVEL (1<<2) | 
|  | 54 | #define IORESOURCE_IRQ_LOWLEVEL (1<<3) | 
|  | 55 | #define IORESOURCE_IRQ_SHAREABLE (1<<4) | 
|  | 56 |  | 
|  | 57 | #define IORESOURCE_DMA_TYPE_MASK (3<<0) | 
|  | 58 | #define IORESOURCE_DMA_8BIT (0<<0) | 
|  | 59 | #define IORESOURCE_DMA_8AND16BIT (1<<0) | 
|  | 60 | #define IORESOURCE_DMA_16BIT (2<<0) | 
|  | 61 |  | 
|  | 62 | #define IORESOURCE_DMA_MASTER (1<<2) | 
|  | 63 | #define IORESOURCE_DMA_BYTE (1<<3) | 
|  | 64 | #define IORESOURCE_DMA_WORD (1<<4) | 
|  | 65 |  | 
|  | 66 | #define IORESOURCE_DMA_SPEED_MASK (3<<6) | 
|  | 67 | #define IORESOURCE_DMA_COMPATIBLE (0<<6) | 
|  | 68 | #define IORESOURCE_DMA_TYPEA (1<<6) | 
|  | 69 | #define IORESOURCE_DMA_TYPEB (2<<6) | 
|  | 70 | #define IORESOURCE_DMA_TYPEF (3<<6) | 
|  | 71 |  | 
|  | 72 | #define IORESOURCE_MEM_WRITEABLE (1<<0) | 
|  | 73 | #define IORESOURCE_MEM_CACHEABLE (1<<1) | 
|  | 74 | #define IORESOURCE_MEM_RANGELENGTH (1<<2) | 
|  | 75 | #define IORESOURCE_MEM_TYPE_MASK (3<<3) | 
|  | 76 | #define IORESOURCE_MEM_8BIT (0<<3) | 
|  | 77 | #define IORESOURCE_MEM_16BIT (1<<3) | 
|  | 78 | #define IORESOURCE_MEM_8AND16BIT (2<<3) | 
|  | 79 | #define IORESOURCE_MEM_32BIT (3<<3) | 
|  | 80 | #define IORESOURCE_MEM_SHADOWABLE (1<<5) | 
|  | 81 | #define IORESOURCE_MEM_EXPANSIONROM (1<<6) | 
|  | 82 |  | 
|  | 83 | #define IORESOURCE_ROM_ENABLE (1<<0) | 
|  | 84 | #define IORESOURCE_ROM_SHADOW (1<<1) | 
|  | 85 | #define IORESOURCE_ROM_COPY (1<<2) | 
|  | 86 |  | 
|  | 87 | #define request_region(start,n,name) __request_region(&ioport_resource, (start), (n), (name)) | 
|  | 88 | #define request_mem_region(start,n,name) __request_region(&iomem_resource, (start), (n), (name)) | 
|  | 89 | #define rename_region(region, newname) do { (region)->name = (newname); } while (0) | 
|  | 90 |  | 
|  | 91 | #define release_region(start,n) __release_region(&ioport_resource, (start), (n)) | 
|  | 92 | #define check_mem_region(start,n) __check_region(&iomem_resource, (start), (n)) | 
|  | 93 | #define release_mem_region(start,n) __release_region(&iomem_resource, (start), (n)) | 
|  | 94 |  | 
|  | 95 | #endif |