docs/mm: memblock: add kernel-doc description for memblock types

Signed-off-by: Mike Rapoport <rppt@linux.vnet.ibm.com>
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
This commit is contained in:
Mike Rapoport 2018-06-30 17:55:04 +03:00 committed by Jonathan Corbet
parent 48a833cc74
commit 9a0de1bfe1

View File

@ -20,7 +20,13 @@
#define INIT_MEMBLOCK_REGIONS 128 #define INIT_MEMBLOCK_REGIONS 128
#define INIT_PHYSMEM_REGIONS 4 #define INIT_PHYSMEM_REGIONS 4
/* Definition of memblock flags. */ /**
* enum memblock_flags - definition of memory region attributes
* @MEMBLOCK_NONE: no special request
* @MEMBLOCK_HOTPLUG: hotpluggable region
* @MEMBLOCK_MIRROR: mirrored region
* @MEMBLOCK_NOMAP: don't add to kernel direct mapping
*/
enum memblock_flags { enum memblock_flags {
MEMBLOCK_NONE = 0x0, /* No special request */ MEMBLOCK_NONE = 0x0, /* No special request */
MEMBLOCK_HOTPLUG = 0x1, /* hotpluggable region */ MEMBLOCK_HOTPLUG = 0x1, /* hotpluggable region */
@ -28,6 +34,13 @@ enum memblock_flags {
MEMBLOCK_NOMAP = 0x4, /* don't add to kernel direct mapping */ MEMBLOCK_NOMAP = 0x4, /* don't add to kernel direct mapping */
}; };
/**
* struct memblock_region - represents a memory region
* @base: physical address of the region
* @size: size of the region
* @flags: memory region attributes
* @nid: NUMA node id
*/
struct memblock_region { struct memblock_region {
phys_addr_t base; phys_addr_t base;
phys_addr_t size; phys_addr_t size;
@ -37,14 +50,30 @@ struct memblock_region {
#endif #endif
}; };
/**
* struct memblock_type - collection of memory regions of certain type
* @cnt: number of regions
* @max: size of the allocated array
* @total_size: size of all regions
* @regions: array of regions
* @name: the memory type symbolic name
*/
struct memblock_type { struct memblock_type {
unsigned long cnt; /* number of regions */ unsigned long cnt;
unsigned long max; /* size of the allocated array */ unsigned long max;
phys_addr_t total_size; /* size of all regions */ phys_addr_t total_size;
struct memblock_region *regions; struct memblock_region *regions;
char *name; char *name;
}; };
/**
* struct memblock - memblock allocator metadata
* @bottom_up: is bottom up direction?
* @current_limit: physical address of the current allocation limit
* @memory: usabe memory regions
* @reserved: reserved memory regions
* @physmem: all physical memory
*/
struct memblock { struct memblock {
bool bottom_up; /* is bottom up direction? */ bool bottom_up; /* is bottom up direction? */
phys_addr_t current_limit; phys_addr_t current_limit;