linux/drivers/base
Andy Whitcroft 540557b943 sparsemem: record when a section has a valid mem_map
We have flags to indicate whether a section actually has a valid mem_map
associated with it.  This is never set and we rely solely on the present bit
to indicate a section is valid.  By definition a section is not valid if it
has no mem_map and there is a window during init where the present bit is set
but there is no mem_map, during which pfn_valid() will return true
incorrectly.

Use the existing SECTION_HAS_MEM_MAP flag to indicate the presence of a valid
mem_map.  Switch valid_section{,_nr} and pfn_valid() to this bit.  Add a new
present_section{,_nr} and pfn_present() interfaces for those users who care to
know that a section is going to be valid.

[akpm@linux-foundation.org: coding-syle fixes]
Signed-off-by: Andy Whitcroft <apw@shadowen.org>
Acked-by: Mel Gorman <mel@csn.ul.ie>
Cc: Christoph Lameter <clameter@sgi.com>
Cc: "Luck, Tony" <tony.luck@intel.com>
Cc: Andi Kleen <ak@suse.de>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-10-16 09:42:51 -07:00
..
power PM: merge device power-management source files 2007-10-12 14:51:12 -07:00
attribute_container.c Driver core: include linux/mutex.h from attribute_container.c 2007-07-11 16:09:01 -07:00
base.h Driver core: remove get_bus() 2007-10-12 14:51:02 -07:00
bus.c Driver core: rename ktype_driver 2007-10-12 14:51:12 -07:00
class.c Driver core: rename ktype_class 2007-10-12 14:51:11 -07:00
core.c Driver core: rename ktype_device 2007-10-12 14:51:12 -07:00
cpu.c CPU online file permission 2007-07-31 15:39:39 -07:00
dd.c driver core: fix kernel doc of device_release_driver 2007-07-11 16:09:02 -07:00
devres.c Driver core: fix devres_release_all() return value 2007-07-11 16:09:02 -07:00
dma-mapping.c devres: device resource management 2007-02-09 17:39:36 -05:00
dmapool.c dma: make dma pool to use kmalloc_node 2007-07-16 09:05:51 -07:00
driver.c Driver core: remove unneeded completion from driver release path 2007-04-27 10:57:29 -07:00
firmware_class.c Fix Firmware class name collision 2007-10-12 14:51:06 -07:00
firmware.c remove "struct subsystem" as it is no longer needed 2007-05-02 18:57:59 -07:00
hypervisor.c [S390] hypfs comment cleanup. 2006-09-20 15:58:44 +02:00
init.c [PATCH] Driver Core: Add /sys/hypervisor when needed 2006-06-21 12:40:48 -07:00
isa.c [PATCH] Driver model: add ISA bus 2006-06-21 12:40:49 -07:00
Kconfig Driver core: add CONFIG_UEVENT_HELPER_PATH 2007-10-12 14:51:01 -07:00
Makefile Introduce CONFIG_HAS_DMA 2007-05-07 12:12:51 -07:00
map.c [PATCH] kobj_map semaphore to mutex conversion 2006-03-20 13:42:58 -08:00
memory.c sparsemem: record when a section has a valid mem_map 2007-10-16 09:42:51 -07:00
node.c Replace remaining references to "driverfs" with "sysfs". 2007-02-17 19:13:42 +01:00
platform.c Driver core: Make platform_device.id an int 2007-10-12 14:51:07 -07:00
sys.c sysdev: remove global sysdev drivers list 2007-10-12 14:51:07 -07:00
topology.c Add suspend-related notifications for CPU hotplug 2007-05-09 12:30:56 -07:00
transport_class.c [SCSI] fix transport class corner case after rework 2005-08-28 11:14:06 -05:00