aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorBernhard Walle <bwalle@suse.de>2008-01-30 07:30:32 -0500
committerIngo Molnar <mingo@elte.hu>2008-01-30 07:30:32 -0500
commitc9cce83dd1d59f52e2c8f8c7d265ba4854c40785 (patch)
tree0d6801b5c069e573ee06464c567e838a6764f424 /include
parent9773db2a301b089bb95907eec5ad1a2ef7fb4099 (diff)
x86: remove extern declarations for code, data, bss resources
This patch removes the extern struct resource declarations for data_resource, code_resource and bss_resource on x86 and declares that three structures as static as done on other architectures like IA64. On i386, these structures are moved to setup_32.c (from e820_32.c) because that's code that is not specific to e820 and also required on EFI systems. That makes the "extern" reference superfluous. On x86_64, data_resource, code_resource and bss_resource are passed to e820_reserve_resources() as arguments just as done on i386 and IA64. That also avoids the "extern" reference and it's possible to make it static. Signed-off-by: Bernhard Walle <bwalle@suse.de> Cc: "Luck, Tony" <tony.luck@intel.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'include')
-rw-r--r--include/asm-x86/e820_32.h6
-rw-r--r--include/asm-x86/e820_64.h5
-rw-r--r--include/linux/ioport.h2
3 files changed, 12 insertions, 1 deletions
diff --git a/include/asm-x86/e820_32.h b/include/asm-x86/e820_32.h
index 03f60c690c8a..ae5ea19623fa 100644
--- a/include/asm-x86/e820_32.h
+++ b/include/asm-x86/e820_32.h
@@ -12,6 +12,8 @@
12#ifndef __E820_HEADER 12#ifndef __E820_HEADER
13#define __E820_HEADER 13#define __E820_HEADER
14 14
15#include <linux/ioport.h>
16
15#define HIGH_MEMORY (1024*1024) 17#define HIGH_MEMORY (1024*1024)
16 18
17#ifndef __ASSEMBLY__ 19#ifndef __ASSEMBLY__
@@ -26,6 +28,9 @@ extern void register_bootmem_low_pages(unsigned long max_low_pfn);
26extern void e820_register_memory(void); 28extern void e820_register_memory(void);
27extern void limit_regions(unsigned long long size); 29extern void limit_regions(unsigned long long size);
28extern void print_memory_map(char *who); 30extern void print_memory_map(char *who);
31extern void legacy_init_iomem_resources(struct resource *code_resource,
32 struct resource *data_resource,
33 struct resource *bss_resource);
29 34
30#if defined(CONFIG_PM) && defined(CONFIG_HIBERNATION) 35#if defined(CONFIG_PM) && defined(CONFIG_HIBERNATION)
31extern void e820_mark_nosave_regions(void); 36extern void e820_mark_nosave_regions(void);
@@ -35,5 +40,6 @@ static inline void e820_mark_nosave_regions(void)
35} 40}
36#endif 41#endif
37 42
43
38#endif/*!__ASSEMBLY__*/ 44#endif/*!__ASSEMBLY__*/
39#endif/*__E820_HEADER*/ 45#endif/*__E820_HEADER*/
diff --git a/include/asm-x86/e820_64.h b/include/asm-x86/e820_64.h
index e535e6044e21..1c7ba8804176 100644
--- a/include/asm-x86/e820_64.h
+++ b/include/asm-x86/e820_64.h
@@ -11,6 +11,8 @@
11#ifndef __E820_HEADER 11#ifndef __E820_HEADER
12#define __E820_HEADER 12#define __E820_HEADER
13 13
14#include <linux/ioport.h>
15
14#ifndef __ASSEMBLY__ 16#ifndef __ASSEMBLY__
15extern unsigned long find_e820_area(unsigned long start, unsigned long end, 17extern unsigned long find_e820_area(unsigned long start, unsigned long end,
16 unsigned size); 18 unsigned size);
@@ -19,7 +21,8 @@ extern void add_memory_region(unsigned long start, unsigned long size,
19extern void setup_memory_region(void); 21extern void setup_memory_region(void);
20extern void contig_e820_setup(void); 22extern void contig_e820_setup(void);
21extern unsigned long e820_end_of_ram(void); 23extern unsigned long e820_end_of_ram(void);
22extern void e820_reserve_resources(void); 24extern void e820_reserve_resources(struct resource *code_resource,
25 struct resource *data_resource, struct resource *bss_resource);
23extern void e820_mark_nosave_regions(void); 26extern void e820_mark_nosave_regions(void);
24extern int e820_any_mapped(unsigned long start, unsigned long end, unsigned type); 27extern int e820_any_mapped(unsigned long start, unsigned long end, unsigned type);
25extern int e820_all_mapped(unsigned long start, unsigned long end, unsigned type); 28extern int e820_all_mapped(unsigned long start, unsigned long end, unsigned type);
diff --git a/include/linux/ioport.h b/include/linux/ioport.h
index 6187a8567bc7..605d237364d2 100644
--- a/include/linux/ioport.h
+++ b/include/linux/ioport.h
@@ -8,6 +8,7 @@
8#ifndef _LINUX_IOPORT_H 8#ifndef _LINUX_IOPORT_H
9#define _LINUX_IOPORT_H 9#define _LINUX_IOPORT_H
10 10
11#ifndef __ASSEMBLY__
11#include <linux/compiler.h> 12#include <linux/compiler.h>
12#include <linux/types.h> 13#include <linux/types.h>
13/* 14/*
@@ -153,4 +154,5 @@ extern struct resource * __devm_request_region(struct device *dev,
153extern void __devm_release_region(struct device *dev, struct resource *parent, 154extern void __devm_release_region(struct device *dev, struct resource *parent,
154 resource_size_t start, resource_size_t n); 155 resource_size_t start, resource_size_t n);
155 156
157#endif /* __ASSEMBLY__ */
156#endif /* _LINUX_IOPORT_H */ 158#endif /* _LINUX_IOPORT_H */