Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Functions | Variables
ioport.h File Reference
#include <linux/compiler.h>
#include <linux/types.h>

Go to the source code of this file.

Data Structures

struct  resource
 

Macros

#define IORESOURCE_BITS   0x000000ff /* Bus-specific bits */
 
#define IORESOURCE_TYPE_BITS   0x00001f00 /* Resource type */
 
#define IORESOURCE_IO   0x00000100 /* PCI/ISA I/O ports */
 
#define IORESOURCE_MEM   0x00000200
 
#define IORESOURCE_REG   0x00000300 /* Register offsets */
 
#define IORESOURCE_IRQ   0x00000400
 
#define IORESOURCE_DMA   0x00000800
 
#define IORESOURCE_BUS   0x00001000
 
#define IORESOURCE_PREFETCH   0x00002000 /* No side effects */
 
#define IORESOURCE_READONLY   0x00004000
 
#define IORESOURCE_CACHEABLE   0x00008000
 
#define IORESOURCE_RANGELENGTH   0x00010000
 
#define IORESOURCE_SHADOWABLE   0x00020000
 
#define IORESOURCE_SIZEALIGN   0x00040000 /* size indicates alignment */
 
#define IORESOURCE_STARTALIGN   0x00080000 /* start field is alignment */
 
#define IORESOURCE_MEM_64   0x00100000
 
#define IORESOURCE_WINDOW   0x00200000 /* forwarded by bridge */
 
#define IORESOURCE_MUXED   0x00400000 /* Resource is software muxed */
 
#define IORESOURCE_EXCLUSIVE   0x08000000 /* Userland may not map this resource */
 
#define IORESOURCE_DISABLED   0x10000000
 
#define IORESOURCE_UNSET   0x20000000
 
#define IORESOURCE_AUTO   0x40000000
 
#define IORESOURCE_BUSY   0x80000000 /* Driver has marked this resource busy */
 
#define IORESOURCE_IRQ_HIGHEDGE   (1<<0)
 
#define IORESOURCE_IRQ_LOWEDGE   (1<<1)
 
#define IORESOURCE_IRQ_HIGHLEVEL   (1<<2)
 
#define IORESOURCE_IRQ_LOWLEVEL   (1<<3)
 
#define IORESOURCE_IRQ_SHAREABLE   (1<<4)
 
#define IORESOURCE_IRQ_OPTIONAL   (1<<5)
 
#define IORESOURCE_DMA_TYPE_MASK   (3<<0)
 
#define IORESOURCE_DMA_8BIT   (0<<0)
 
#define IORESOURCE_DMA_8AND16BIT   (1<<0)
 
#define IORESOURCE_DMA_16BIT   (2<<0)
 
#define IORESOURCE_DMA_MASTER   (1<<2)
 
#define IORESOURCE_DMA_BYTE   (1<<3)
 
#define IORESOURCE_DMA_WORD   (1<<4)
 
#define IORESOURCE_DMA_SPEED_MASK   (3<<6)
 
#define IORESOURCE_DMA_COMPATIBLE   (0<<6)
 
#define IORESOURCE_DMA_TYPEA   (1<<6)
 
#define IORESOURCE_DMA_TYPEB   (2<<6)
 
#define IORESOURCE_DMA_TYPEF   (3<<6)
 
#define IORESOURCE_MEM_WRITEABLE   (1<<0) /* dup: IORESOURCE_READONLY */
 
#define IORESOURCE_MEM_CACHEABLE   (1<<1) /* dup: IORESOURCE_CACHEABLE */
 
#define IORESOURCE_MEM_RANGELENGTH   (1<<2) /* dup: IORESOURCE_RANGELENGTH */
 
#define IORESOURCE_MEM_TYPE_MASK   (3<<3)
 
#define IORESOURCE_MEM_8BIT   (0<<3)
 
#define IORESOURCE_MEM_16BIT   (1<<3)
 
#define IORESOURCE_MEM_8AND16BIT   (2<<3)
 
#define IORESOURCE_MEM_32BIT   (3<<3)
 
#define IORESOURCE_MEM_SHADOWABLE   (1<<5) /* dup: IORESOURCE_SHADOWABLE */
 
#define IORESOURCE_MEM_EXPANSIONROM   (1<<6)
 
#define IORESOURCE_IO_16BIT_ADDR   (1<<0)
 
#define IORESOURCE_IO_FIXED   (1<<1)
 
#define IORESOURCE_ROM_ENABLE   (1<<0) /* ROM is enabled, same as PCI_ROM_ADDRESS_ENABLE */
 
#define IORESOURCE_ROM_SHADOW   (1<<1) /* ROM is copy at C000:0 */
 
#define IORESOURCE_ROM_COPY   (1<<2) /* ROM is alloc'd copy, resource field overlaid */
 
#define IORESOURCE_ROM_BIOS_COPY   (1<<3) /* ROM is BIOS copy, resource field overlaid */
 
#define IORESOURCE_PCI_FIXED   (1<<4) /* Do not move resource */
 
#define DEFINE_RES_NAMED(_start, _size, _name, _flags)
 
#define DEFINE_RES_IO_NAMED(_start, _size, _name)   DEFINE_RES_NAMED((_start), (_size), (_name), IORESOURCE_IO)
 
#define DEFINE_RES_IO(_start, _size)   DEFINE_RES_IO_NAMED((_start), (_size), NULL)
 
#define DEFINE_RES_MEM_NAMED(_start, _size, _name)   DEFINE_RES_NAMED((_start), (_size), (_name), IORESOURCE_MEM)
 
#define DEFINE_RES_MEM(_start, _size)   DEFINE_RES_MEM_NAMED((_start), (_size), NULL)
 
#define DEFINE_RES_IRQ_NAMED(_irq, _name)   DEFINE_RES_NAMED((_irq), 1, (_name), IORESOURCE_IRQ)
 
#define DEFINE_RES_IRQ(_irq)   DEFINE_RES_IRQ_NAMED((_irq), NULL)
 
#define DEFINE_RES_DMA_NAMED(_dma, _name)   DEFINE_RES_NAMED((_dma), 1, (_name), IORESOURCE_DMA)
 
#define DEFINE_RES_DMA(_dma)   DEFINE_RES_DMA_NAMED((_dma), NULL)
 
#define request_region(start, n, name)   __request_region(&ioport_resource, (start), (n), (name), 0)
 
#define request_muxed_region(start, n, name)   __request_region(&ioport_resource, (start), (n), (name), IORESOURCE_MUXED)
 
#define __request_mem_region(start, n, name, excl)   __request_region(&iomem_resource, (start), (n), (name), excl)
 
#define request_mem_region(start, n, name)   __request_region(&iomem_resource, (start), (n), (name), 0)
 
#define request_mem_region_exclusive(start, n, name)   __request_region(&iomem_resource, (start), (n), (name), IORESOURCE_EXCLUSIVE)
 
#define rename_region(region, newname)   do { (region)->name = (newname); } while (0)
 
#define release_region(start, n)   __release_region(&ioport_resource, (start), (n))
 
#define check_mem_region(start, n)   __check_region(&iomem_resource, (start), (n))
 
#define release_mem_region(start, n)   __release_region(&iomem_resource, (start), (n))
 
#define devm_request_region(dev, start, n, name)   __devm_request_region(dev, &ioport_resource, (start), (n), (name))
 
#define devm_request_mem_region(dev, start, n, name)   __devm_request_region(dev, &iomem_resource, (start), (n), (name))
 
#define devm_release_region(dev, start, n)   __devm_release_region(dev, &ioport_resource, (start), (n))
 
#define devm_release_mem_region(dev, start, n)   __devm_release_region(dev, &iomem_resource, (start), (n))
 

Functions

struct resourcerequest_resource_conflict (struct resource *root, struct resource *new)
 
int request_resource (struct resource *root, struct resource *new)
 
int release_resource (struct resource *new)
 
void release_child_resources (struct resource *new)
 
void reserve_region_with_split (struct resource *root, resource_size_t start, resource_size_t end, const char *name)
 
struct resourceinsert_resource_conflict (struct resource *parent, struct resource *new)
 
int insert_resource (struct resource *parent, struct resource *new)
 
void insert_resource_expand_to_fit (struct resource *root, struct resource *new)
 
void arch_remove_reservations (struct resource *avail)
 
int allocate_resource (struct resource *root, struct resource *new, resource_size_t size, resource_size_t min, resource_size_t max, resource_size_t align, resource_size_t(*alignf)(void *, const struct resource *, resource_size_t, resource_size_t), void *alignf_data)
 
struct resourcelookup_resource (struct resource *root, resource_size_t start)
 
int adjust_resource (struct resource *res, resource_size_t start, resource_size_t size)
 
resource_size_t resource_alignment (struct resource *res)
 
struct resource__request_region (struct resource *, resource_size_t start, resource_size_t n, const char *name, int flags)
 
int __check_region (struct resource *, resource_size_t, resource_size_t)
 
void __release_region (struct resource *, resource_size_t, resource_size_t)
 
struct resource__devm_request_region (struct device *dev, struct resource *parent, resource_size_t start, resource_size_t n, const char *name)
 
void __devm_release_region (struct device *dev, struct resource *parent, resource_size_t start, resource_size_t n)
 
int iomem_map_sanity_check (resource_size_t addr, unsigned long size)
 
int iomem_is_exclusive (u64 addr)
 
int walk_system_ram_range (unsigned long start_pfn, unsigned long nr_pages, void *arg, int(*func)(unsigned long, unsigned long, void *))
 

Variables

struct resource ioport_resource
 
struct resource iomem_resource
 

Macro Definition Documentation

#define __request_mem_region (   start,
  n,
  name,
  excl 
)    __request_region(&iomem_resource, (start), (n), (name), excl)

Definition at line 176 of file ioport.h.

#define check_mem_region (   start,
  n 
)    __check_region(&iomem_resource, (start), (n))

Definition at line 189 of file ioport.h.

#define DEFINE_RES_DMA (   _dma)    DEFINE_RES_DMA_NAMED((_dma), NULL)

Definition at line 134 of file ioport.h.

#define DEFINE_RES_DMA_NAMED (   _dma,
  _name 
)    DEFINE_RES_NAMED((_dma), 1, (_name), IORESOURCE_DMA)

Definition at line 132 of file ioport.h.

#define DEFINE_RES_IO (   _start,
  _size 
)    DEFINE_RES_IO_NAMED((_start), (_size), NULL)

Definition at line 119 of file ioport.h.

#define DEFINE_RES_IO_NAMED (   _start,
  _size,
  _name 
)    DEFINE_RES_NAMED((_start), (_size), (_name), IORESOURCE_IO)

Definition at line 117 of file ioport.h.

#define DEFINE_RES_IRQ (   _irq)    DEFINE_RES_IRQ_NAMED((_irq), NULL)

Definition at line 129 of file ioport.h.

#define DEFINE_RES_IRQ_NAMED (   _irq,
  _name 
)    DEFINE_RES_NAMED((_irq), 1, (_name), IORESOURCE_IRQ)

Definition at line 127 of file ioport.h.

#define DEFINE_RES_MEM (   _start,
  _size 
)    DEFINE_RES_MEM_NAMED((_start), (_size), NULL)

Definition at line 124 of file ioport.h.

#define DEFINE_RES_MEM_NAMED (   _start,
  _size,
  _name 
)    DEFINE_RES_NAMED((_start), (_size), (_name), IORESOURCE_MEM)

Definition at line 122 of file ioport.h.

#define DEFINE_RES_NAMED (   _start,
  _size,
  _name,
  _flags 
)
Value:
{ \
.start = (_start), \
.end = (_start) + (_size) - 1, \
.name = (_name), \
.flags = (_flags), \
}

Definition at line 109 of file ioport.h.

#define devm_release_mem_region (   dev,
  start,
  n 
)    __devm_release_region(dev, &iomem_resource, (start), (n))

Definition at line 215 of file ioport.h.

#define devm_release_region (   dev,
  start,
  n 
)    __devm_release_region(dev, &ioport_resource, (start), (n))

Definition at line 213 of file ioport.h.

#define devm_request_mem_region (   dev,
  start,
  n,
  name 
)    __devm_request_region(dev, &iomem_resource, (start), (n), (name))

Definition at line 206 of file ioport.h.

#define devm_request_region (   dev,
  start,
  n,
  name 
)    __devm_request_region(dev, &ioport_resource, (start), (n), (name))

Definition at line 204 of file ioport.h.

#define IORESOURCE_AUTO   0x40000000

Definition at line 55 of file ioport.h.

#define IORESOURCE_BITS   0x000000ff /* Bus-specific bits */

Definition at line 29 of file ioport.h.

#define IORESOURCE_BUS   0x00001000

Definition at line 37 of file ioport.h.

#define IORESOURCE_BUSY   0x80000000 /* Driver has marked this resource busy */

Definition at line 56 of file ioport.h.

#define IORESOURCE_CACHEABLE   0x00008000

Definition at line 41 of file ioport.h.

#define IORESOURCE_DISABLED   0x10000000

Definition at line 53 of file ioport.h.

#define IORESOURCE_DMA   0x00000800

Definition at line 36 of file ioport.h.

#define IORESOURCE_DMA_16BIT   (2<<0)

Definition at line 70 of file ioport.h.

#define IORESOURCE_DMA_8AND16BIT   (1<<0)

Definition at line 69 of file ioport.h.

#define IORESOURCE_DMA_8BIT   (0<<0)

Definition at line 68 of file ioport.h.

#define IORESOURCE_DMA_BYTE   (1<<3)

Definition at line 73 of file ioport.h.

#define IORESOURCE_DMA_COMPATIBLE   (0<<6)

Definition at line 77 of file ioport.h.

#define IORESOURCE_DMA_MASTER   (1<<2)

Definition at line 72 of file ioport.h.

#define IORESOURCE_DMA_SPEED_MASK   (3<<6)

Definition at line 76 of file ioport.h.

#define IORESOURCE_DMA_TYPE_MASK   (3<<0)

Definition at line 67 of file ioport.h.

#define IORESOURCE_DMA_TYPEA   (1<<6)

Definition at line 78 of file ioport.h.

#define IORESOURCE_DMA_TYPEB   (2<<6)

Definition at line 79 of file ioport.h.

#define IORESOURCE_DMA_TYPEF   (3<<6)

Definition at line 80 of file ioport.h.

#define IORESOURCE_DMA_WORD   (1<<4)

Definition at line 74 of file ioport.h.

#define IORESOURCE_EXCLUSIVE   0x08000000 /* Userland may not map this resource */

Definition at line 52 of file ioport.h.

#define IORESOURCE_IO   0x00000100 /* PCI/ISA I/O ports */

Definition at line 32 of file ioport.h.

#define IORESOURCE_IO_16BIT_ADDR   (1<<0)

Definition at line 95 of file ioport.h.

#define IORESOURCE_IO_FIXED   (1<<1)

Definition at line 96 of file ioport.h.

#define IORESOURCE_IRQ   0x00000400

Definition at line 35 of file ioport.h.

#define IORESOURCE_IRQ_HIGHEDGE   (1<<0)

Definition at line 59 of file ioport.h.

#define IORESOURCE_IRQ_HIGHLEVEL   (1<<2)

Definition at line 61 of file ioport.h.

#define IORESOURCE_IRQ_LOWEDGE   (1<<1)

Definition at line 60 of file ioport.h.

#define IORESOURCE_IRQ_LOWLEVEL   (1<<3)

Definition at line 62 of file ioport.h.

#define IORESOURCE_IRQ_OPTIONAL   (1<<5)

Definition at line 64 of file ioport.h.

#define IORESOURCE_IRQ_SHAREABLE   (1<<4)

Definition at line 63 of file ioport.h.

#define IORESOURCE_MEM   0x00000200

Definition at line 33 of file ioport.h.

#define IORESOURCE_MEM_16BIT   (1<<3)

Definition at line 88 of file ioport.h.

#define IORESOURCE_MEM_32BIT   (3<<3)

Definition at line 90 of file ioport.h.

#define IORESOURCE_MEM_64   0x00100000

Definition at line 48 of file ioport.h.

#define IORESOURCE_MEM_8AND16BIT   (2<<3)

Definition at line 89 of file ioport.h.

#define IORESOURCE_MEM_8BIT   (0<<3)

Definition at line 87 of file ioport.h.

#define IORESOURCE_MEM_CACHEABLE   (1<<1) /* dup: IORESOURCE_CACHEABLE */

Definition at line 84 of file ioport.h.

#define IORESOURCE_MEM_EXPANSIONROM   (1<<6)

Definition at line 92 of file ioport.h.

#define IORESOURCE_MEM_RANGELENGTH   (1<<2) /* dup: IORESOURCE_RANGELENGTH */

Definition at line 85 of file ioport.h.

#define IORESOURCE_MEM_SHADOWABLE   (1<<5) /* dup: IORESOURCE_SHADOWABLE */

Definition at line 91 of file ioport.h.

#define IORESOURCE_MEM_TYPE_MASK   (3<<3)

Definition at line 86 of file ioport.h.

#define IORESOURCE_MEM_WRITEABLE   (1<<0) /* dup: IORESOURCE_READONLY */

Definition at line 83 of file ioport.h.

#define IORESOURCE_MUXED   0x00400000 /* Resource is software muxed */

Definition at line 50 of file ioport.h.

#define IORESOURCE_PCI_FIXED   (1<<4) /* Do not move resource */

Definition at line 105 of file ioport.h.

#define IORESOURCE_PREFETCH   0x00002000 /* No side effects */

Definition at line 39 of file ioport.h.

#define IORESOURCE_RANGELENGTH   0x00010000

Definition at line 42 of file ioport.h.

#define IORESOURCE_READONLY   0x00004000

Definition at line 40 of file ioport.h.

#define IORESOURCE_REG   0x00000300 /* Register offsets */

Definition at line 34 of file ioport.h.

#define IORESOURCE_ROM_BIOS_COPY   (1<<3) /* ROM is BIOS copy, resource field overlaid */

Definition at line 102 of file ioport.h.

#define IORESOURCE_ROM_COPY   (1<<2) /* ROM is alloc'd copy, resource field overlaid */

Definition at line 101 of file ioport.h.

#define IORESOURCE_ROM_ENABLE   (1<<0) /* ROM is enabled, same as PCI_ROM_ADDRESS_ENABLE */

Definition at line 99 of file ioport.h.

#define IORESOURCE_ROM_SHADOW   (1<<1) /* ROM is copy at C000:0 */

Definition at line 100 of file ioport.h.

#define IORESOURCE_SHADOWABLE   0x00020000

Definition at line 43 of file ioport.h.

#define IORESOURCE_SIZEALIGN   0x00040000 /* size indicates alignment */

Definition at line 45 of file ioport.h.

#define IORESOURCE_STARTALIGN   0x00080000 /* start field is alignment */

Definition at line 46 of file ioport.h.

#define IORESOURCE_TYPE_BITS   0x00001f00 /* Resource type */

Definition at line 31 of file ioport.h.

#define IORESOURCE_UNSET   0x20000000

Definition at line 54 of file ioport.h.

#define IORESOURCE_WINDOW   0x00200000 /* forwarded by bridge */

Definition at line 49 of file ioport.h.

#define release_mem_region (   start,
  n 
)    __release_region(&iomem_resource, (start), (n))

Definition at line 190 of file ioport.h.

#define release_region (   start,
  n 
)    __release_region(&ioport_resource, (start), (n))

Definition at line 188 of file ioport.h.

#define rename_region (   region,
  newname 
)    do { (region)->name = (newname); } while (0)

Definition at line 180 of file ioport.h.

#define request_mem_region (   start,
  n,
  name 
)    __request_region(&iomem_resource, (start), (n), (name), 0)

Definition at line 177 of file ioport.h.

#define request_mem_region_exclusive (   start,
  n,
  name 
)    __request_region(&iomem_resource, (start), (n), (name), IORESOURCE_EXCLUSIVE)

Definition at line 178 of file ioport.h.

#define request_muxed_region (   start,
  n,
  name 
)    __request_region(&ioport_resource, (start), (n), (name), IORESOURCE_MUXED)

Definition at line 175 of file ioport.h.

#define request_region (   start,
  n,
  name 
)    __request_region(&ioport_resource, (start), (n), (name), 0)

Definition at line 174 of file ioport.h.

Function Documentation

int __check_region ( struct resource parent,
resource_size_t  start,
resource_size_t  n 
)

__check_region - check if a resource region is busy or free : parent resource descriptor : resource start address
: resource region size

Returns 0 if the region is free at the moment it is checked, returns %-EBUSY if the region is busy.

NOTE: This function is deprecated because its use is racy. Even if it returns 0, a subsequent call to request_region() may fail because another driver etc. just allocated the region. Do NOT use it. It will be removed from the kernel.

Definition at line 951 of file resource.c.

void __devm_release_region ( struct device dev,
struct resource parent,
resource_size_t  start,
resource_size_t  n 
)

Definition at line 1065 of file resource.c.

struct resource* __devm_request_region ( struct device dev,
struct resource parent,
resource_size_t  start,
resource_size_t  n,
const char name 
)
read

Definition at line 1039 of file resource.c.

void __release_region ( struct resource parent,
resource_size_t  start,
resource_size_t  n 
)

__release_region - release a previously reserved resource region : parent resource descriptor : resource start address
: resource region size

The described resource region must match a currently busy region.

Definition at line 974 of file resource.c.

struct resource* __request_region ( struct resource ,
resource_size_t  start,
resource_size_t  n,
const char name,
int  flags 
)
read

Definition at line 888 of file resource.c.

int adjust_resource ( struct resource res,
resource_size_t  start,
resource_size_t  size 
)

adjust_resource - modify a resource's start and size : resource to modify : new start value : new size

Given an existing resource, change its start and size to match the arguments. Returns 0 on success, -EBUSY if it can't fit. Existing children of the resource are assumed to be immutable.

Definition at line 719 of file resource.c.

int allocate_resource ( struct resource root,
struct resource new,
resource_size_t  size,
resource_size_t  min,
resource_size_t  max,
resource_size_t  align,
resource_size_t(*)(void *, const struct resource *, resource_size_t, resource_size_t alignf,
void alignf_data 
)

allocate_resource - allocate empty slot in the resource tree given range & alignment. The resource will be reallocated with a new size if it was already allocated : root resource descriptor : resource descriptor desired by caller : requested resource region size : minimum boundary to allocate : maximum boundary to allocate : alignment requested, in bytes : alignment function, optional, called if not NULL : arbitrary data to pass to the function

Definition at line 526 of file resource.c.

void arch_remove_reservations ( struct resource avail)

Definition at line 38 of file resource.c.

int insert_resource ( struct resource parent,
struct resource new 
)

insert_resource - Inserts a resource in the resource tree : parent of the new resource : new resource to insert

Returns 0 on success, -EBUSY if the resource can't be inserted.

Definition at line 667 of file resource.c.

struct resource* insert_resource_conflict ( struct resource parent,
struct resource new 
)
read

insert_resource_conflict - Inserts resource in the resource tree : parent of the new resource : new resource to insert

Returns 0 on success, conflict resource if the resource can't be inserted.

This function is equivalent to request_resource_conflict when no conflict happens. If a conflict happens, and the conflicting resources entirely fit within the range of the new resource, then the new resource is inserted and the conflicting resources become children of the new resource.

Definition at line 650 of file resource.c.

void insert_resource_expand_to_fit ( struct resource root,
struct resource new 
)

insert_resource_expand_to_fit - Insert a resource into the resource tree : root resource descriptor : new resource to insert

Insert a resource into the resource tree, possibly expanding it in order to make it encompass any conflicting resources.

Definition at line 683 of file resource.c.

int iomem_is_exclusive ( u64  addr)

Definition at line 1166 of file resource.c.

int iomem_map_sanity_check ( resource_size_t  addr,
unsigned long  size 
)

Definition at line 1113 of file resource.c.

struct resource* lookup_resource ( struct resource root,
resource_size_t  start 
)
read

lookup_resource - find an existing resource by a resource start address : root resource descriptor : resource start address

Returns a pointer to the resource if found, NULL otherwise

Definition at line 570 of file resource.c.

void release_child_resources ( struct resource new)

Definition at line 225 of file resource.c.

int release_resource ( struct resource old)

release_resource - release a previously reserved resource : resource pointer

Definition at line 270 of file resource.c.

int request_resource ( struct resource root,
struct resource new 
)

request_resource - request and reserve an I/O or memory resource : root resource descriptor : resource descriptor desired by caller

Returns 0 for success, negative error code on error.

Definition at line 256 of file resource.c.

struct resource* request_resource_conflict ( struct resource root,
struct resource new 
)
read

request_resource_conflict - request and reserve an I/O or memory resource : root resource descriptor : resource descriptor desired by caller

Returns 0 for success, conflict resource on error.

Definition at line 239 of file resource.c.

void reserve_region_with_split ( struct resource root,
resource_size_t  start,
resource_size_t  end,
const char name 
)

Definition at line 818 of file resource.c.

resource_size_t resource_alignment ( struct resource res)

resource_alignment - calculate resource's alignment : resource pointer

Returns alignment on success, 0 (invalid alignment) on failure.

Definition at line 853 of file resource.c.

int walk_system_ram_range ( unsigned long  start_pfn,
unsigned long  nr_pages,
void arg,
int(*)(unsigned long, unsigned long, void *)  func 
)

Definition at line 145 of file mem.c.

Variable Documentation

struct resource iomem_resource

Definition at line 35 of file resource.c.

struct resource ioport_resource

Definition at line 27 of file resource.c.