1951a39d68df598db08dfced8b4707755864a0492Ying Wang/**************************************************************************** 2951a39d68df598db08dfced8b4707755864a0492Ying Wang **************************************************************************** 3951a39d68df598db08dfced8b4707755864a0492Ying Wang *** 4951a39d68df598db08dfced8b4707755864a0492Ying Wang *** This header was automatically generated from a Linux kernel header 5951a39d68df598db08dfced8b4707755864a0492Ying Wang *** of the same name, to make information necessary for userspace to 6951a39d68df598db08dfced8b4707755864a0492Ying Wang *** call into the kernel available to libc. It contains only constants, 7951a39d68df598db08dfced8b4707755864a0492Ying Wang *** structures, and macros generated from the original header, and thus, 8951a39d68df598db08dfced8b4707755864a0492Ying Wang *** contains no copyrightable information. 9951a39d68df598db08dfced8b4707755864a0492Ying Wang *** 10951a39d68df598db08dfced8b4707755864a0492Ying Wang **************************************************************************** 11951a39d68df598db08dfced8b4707755864a0492Ying Wang ****************************************************************************/ 12951a39d68df598db08dfced8b4707755864a0492Ying Wang#ifndef _LINUX_IOPORT_H 13951a39d68df598db08dfced8b4707755864a0492Ying Wang#define _LINUX_IOPORT_H 14951a39d68df598db08dfced8b4707755864a0492Ying Wang 15951a39d68df598db08dfced8b4707755864a0492Ying Wang#include <linux/compiler.h> 16951a39d68df598db08dfced8b4707755864a0492Ying Wang#include <linux/types.h> 17951a39d68df598db08dfced8b4707755864a0492Ying Wang 18951a39d68df598db08dfced8b4707755864a0492Ying Wangstruct resource { 19951a39d68df598db08dfced8b4707755864a0492Ying Wang resource_size_t start; 20951a39d68df598db08dfced8b4707755864a0492Ying Wang resource_size_t end; 21951a39d68df598db08dfced8b4707755864a0492Ying Wang const char *name; 22951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned long flags; 23951a39d68df598db08dfced8b4707755864a0492Ying Wang struct resource *parent, *sibling, *child; 24951a39d68df598db08dfced8b4707755864a0492Ying Wang}; 25951a39d68df598db08dfced8b4707755864a0492Ying Wang 26951a39d68df598db08dfced8b4707755864a0492Ying Wangstruct resource_list { 27951a39d68df598db08dfced8b4707755864a0492Ying Wang struct resource_list *next; 28951a39d68df598db08dfced8b4707755864a0492Ying Wang struct resource *res; 29951a39d68df598db08dfced8b4707755864a0492Ying Wang struct pci_dev *dev; 30951a39d68df598db08dfced8b4707755864a0492Ying Wang}; 31951a39d68df598db08dfced8b4707755864a0492Ying Wang 32951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IORESOURCE_BITS 0x000000ff 33951a39d68df598db08dfced8b4707755864a0492Ying Wang 34951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IORESOURCE_IO 0x00000100 35951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IORESOURCE_MEM 0x00000200 36951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IORESOURCE_IRQ 0x00000400 37951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IORESOURCE_DMA 0x00000800 38951a39d68df598db08dfced8b4707755864a0492Ying Wang 39951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IORESOURCE_PREFETCH 0x00001000 40951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IORESOURCE_READONLY 0x00002000 41951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IORESOURCE_CACHEABLE 0x00004000 42951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IORESOURCE_RANGELENGTH 0x00008000 43951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IORESOURCE_SHADOWABLE 0x00010000 44951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IORESOURCE_BUS_HAS_VGA 0x00080000 45951a39d68df598db08dfced8b4707755864a0492Ying Wang 46951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IORESOURCE_DISABLED 0x10000000 47951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IORESOURCE_UNSET 0x20000000 48951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IORESOURCE_AUTO 0x40000000 49951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IORESOURCE_BUSY 0x80000000 50951a39d68df598db08dfced8b4707755864a0492Ying Wang 51951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IORESOURCE_IRQ_HIGHEDGE (1<<0) 52951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IORESOURCE_IRQ_LOWEDGE (1<<1) 53951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IORESOURCE_IRQ_HIGHLEVEL (1<<2) 54951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IORESOURCE_IRQ_LOWLEVEL (1<<3) 55951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IORESOURCE_IRQ_SHAREABLE (1<<4) 56951a39d68df598db08dfced8b4707755864a0492Ying Wang 57951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IORESOURCE_DMA_TYPE_MASK (3<<0) 58951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IORESOURCE_DMA_8BIT (0<<0) 59951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IORESOURCE_DMA_8AND16BIT (1<<0) 60951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IORESOURCE_DMA_16BIT (2<<0) 61951a39d68df598db08dfced8b4707755864a0492Ying Wang 62951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IORESOURCE_DMA_MASTER (1<<2) 63951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IORESOURCE_DMA_BYTE (1<<3) 64951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IORESOURCE_DMA_WORD (1<<4) 65951a39d68df598db08dfced8b4707755864a0492Ying Wang 66951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IORESOURCE_DMA_SPEED_MASK (3<<6) 67951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IORESOURCE_DMA_COMPATIBLE (0<<6) 68951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IORESOURCE_DMA_TYPEA (1<<6) 69951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IORESOURCE_DMA_TYPEB (2<<6) 70951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IORESOURCE_DMA_TYPEF (3<<6) 71951a39d68df598db08dfced8b4707755864a0492Ying Wang 72951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IORESOURCE_MEM_WRITEABLE (1<<0) 73951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IORESOURCE_MEM_CACHEABLE (1<<1) 74951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IORESOURCE_MEM_RANGELENGTH (1<<2) 75951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IORESOURCE_MEM_TYPE_MASK (3<<3) 76951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IORESOURCE_MEM_8BIT (0<<3) 77951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IORESOURCE_MEM_16BIT (1<<3) 78951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IORESOURCE_MEM_8AND16BIT (2<<3) 79951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IORESOURCE_MEM_32BIT (3<<3) 80951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IORESOURCE_MEM_SHADOWABLE (1<<5) 81951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IORESOURCE_MEM_EXPANSIONROM (1<<6) 82951a39d68df598db08dfced8b4707755864a0492Ying Wang 83951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IORESOURCE_ROM_ENABLE (1<<0) 84951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IORESOURCE_ROM_SHADOW (1<<1) 85951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IORESOURCE_ROM_COPY (1<<2) 86951a39d68df598db08dfced8b4707755864a0492Ying Wang 87951a39d68df598db08dfced8b4707755864a0492Ying Wang#define request_region(start,n,name) __request_region(&ioport_resource, (start), (n), (name)) 88951a39d68df598db08dfced8b4707755864a0492Ying Wang#define request_mem_region(start,n,name) __request_region(&iomem_resource, (start), (n), (name)) 89951a39d68df598db08dfced8b4707755864a0492Ying Wang#define rename_region(region, newname) do { (region)->name = (newname); } while (0) 90951a39d68df598db08dfced8b4707755864a0492Ying Wang 91951a39d68df598db08dfced8b4707755864a0492Ying Wang#define release_region(start,n) __release_region(&ioport_resource, (start), (n)) 92951a39d68df598db08dfced8b4707755864a0492Ying Wang#define check_mem_region(start,n) __check_region(&iomem_resource, (start), (n)) 93951a39d68df598db08dfced8b4707755864a0492Ying Wang#define release_mem_region(start,n) __release_region(&iomem_resource, (start), (n)) 94951a39d68df598db08dfced8b4707755864a0492Ying Wang 95951a39d68df598db08dfced8b4707755864a0492Ying Wang#endif 96