diff options
author | Thomas Petazzoni <thomas.petazzoni@free-electrons.com> | 2008-04-28 05:14:14 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-04-28 11:58:30 -0400 |
commit | 7ae9392c0a3bc01562361bb21e23dfb2e5c81c5a (patch) | |
tree | 96affc937131086ee823d328f1b8c06b167350e2 | |
parent | d83fd8a26769c75d51a6b05d8dcb3e36302dd8ba (diff) |
x86: configurable DMI scanning code
Turn CONFIG_DMI into a selectable option if EMBEDDED is defined, in
order to be able to remove the DMI table scanning code if it's not
needed, and then reduce the kernel code size.
With CONFIG_DMI (i.e before) :
text data bss dec hex filename
1076076 128656 98304 1303036 13e1fc vmlinux
Without CONFIG_DMI (i.e after) :
text data bss dec hex filename
1068092 126308 98304 1292704 13b9a0 vmlinux
Result:
text data bss dec hex filename
-7984 -2348 0 -10332 -285c vmlinux
The new option appears in "Processor type and features", only when
CONFIG_EMBEDDED is defined.
This patch is part of the Linux Tiny project, and is based on previous work
done by Matt Mackall <mpm@selenic.com>.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: Ingo Molnar <mingo@elte.hu>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: "H. Anvin" <hpa@zytor.com>
Signed-off-by: Matt Mackall <mpm@selenic.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r-- | arch/x86/Kconfig | 12 | ||||
-rw-r--r-- | include/linux/dmi.h | 1 |
2 files changed, 10 insertions, 3 deletions
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig index a8ce13a54764..a12dbb2b93f3 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig | |||
@@ -86,9 +86,6 @@ config GENERIC_GPIO | |||
86 | config ARCH_MAY_HAVE_PC_FDC | 86 | config ARCH_MAY_HAVE_PC_FDC |
87 | def_bool y | 87 | def_bool y |
88 | 88 | ||
89 | config DMI | ||
90 | def_bool y | ||
91 | |||
92 | config RWSEM_GENERIC_SPINLOCK | 89 | config RWSEM_GENERIC_SPINLOCK |
93 | def_bool !X86_XADD | 90 | def_bool !X86_XADD |
94 | 91 | ||
@@ -485,6 +482,15 @@ config HPET_EMULATE_RTC | |||
485 | 482 | ||
486 | # Mark as embedded because too many people got it wrong. | 483 | # Mark as embedded because too many people got it wrong. |
487 | # The code disables itself when not needed. | 484 | # The code disables itself when not needed. |
485 | config DMI | ||
486 | default y | ||
487 | bool "Enable DMI scanning" if EMBEDDED | ||
488 | help | ||
489 | Enabled scanning of DMI to identify machine quirks. Say Y | ||
490 | here unless you have verified that your setup is not | ||
491 | affected by entries in the DMI blacklist. Required by PNP | ||
492 | BIOS code. | ||
493 | |||
488 | config GART_IOMMU | 494 | config GART_IOMMU |
489 | bool "GART IOMMU support" if EMBEDDED | 495 | bool "GART IOMMU support" if EMBEDDED |
490 | default y | 496 | default y |
diff --git a/include/linux/dmi.h b/include/linux/dmi.h index 325acdf5c462..2a063b64133f 100644 --- a/include/linux/dmi.h +++ b/include/linux/dmi.h | |||
@@ -90,6 +90,7 @@ static inline int dmi_check_system(const struct dmi_system_id *list) { return 0; | |||
90 | static inline const char * dmi_get_system_info(int field) { return NULL; } | 90 | static inline const char * dmi_get_system_info(int field) { return NULL; } |
91 | static inline const struct dmi_device * dmi_find_device(int type, const char *name, | 91 | static inline const struct dmi_device * dmi_find_device(int type, const char *name, |
92 | const struct dmi_device *from) { return NULL; } | 92 | const struct dmi_device *from) { return NULL; } |
93 | static inline void dmi_scan_machine(void) { return; } | ||
93 | static inline int dmi_get_year(int year) { return 0; } | 94 | static inline int dmi_get_year(int year) { return 0; } |
94 | static inline int dmi_name_in_vendors(const char *s) { return 0; } | 95 | static inline int dmi_name_in_vendors(const char *s) { return 0; } |
95 | #define dmi_available 0 | 96 | #define dmi_available 0 |