diff options
author | Bernhard Walle <bwalle@suse.de> | 2008-01-30 07:30:32 -0500 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-01-30 07:30:32 -0500 |
commit | c9cce83dd1d59f52e2c8f8c7d265ba4854c40785 (patch) | |
tree | 0d6801b5c069e573ee06464c567e838a6764f424 /include | |
parent | 9773db2a301b089bb95907eec5ad1a2ef7fb4099 (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.h | 6 | ||||
-rw-r--r-- | include/asm-x86/e820_64.h | 5 | ||||
-rw-r--r-- | include/linux/ioport.h | 2 |
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); | |||
26 | extern void e820_register_memory(void); | 28 | extern void e820_register_memory(void); |
27 | extern void limit_regions(unsigned long long size); | 29 | extern void limit_regions(unsigned long long size); |
28 | extern void print_memory_map(char *who); | 30 | extern void print_memory_map(char *who); |
31 | extern 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) |
31 | extern void e820_mark_nosave_regions(void); | 36 | extern 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__ |
15 | extern unsigned long find_e820_area(unsigned long start, unsigned long end, | 17 | extern 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, | |||
19 | extern void setup_memory_region(void); | 21 | extern void setup_memory_region(void); |
20 | extern void contig_e820_setup(void); | 22 | extern void contig_e820_setup(void); |
21 | extern unsigned long e820_end_of_ram(void); | 23 | extern unsigned long e820_end_of_ram(void); |
22 | extern void e820_reserve_resources(void); | 24 | extern void e820_reserve_resources(struct resource *code_resource, |
25 | struct resource *data_resource, struct resource *bss_resource); | ||
23 | extern void e820_mark_nosave_regions(void); | 26 | extern void e820_mark_nosave_regions(void); |
24 | extern int e820_any_mapped(unsigned long start, unsigned long end, unsigned type); | 27 | extern int e820_any_mapped(unsigned long start, unsigned long end, unsigned type); |
25 | extern int e820_all_mapped(unsigned long start, unsigned long end, unsigned type); | 28 | extern 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, | |||
153 | extern void __devm_release_region(struct device *dev, struct resource *parent, | 154 | extern 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 */ |