aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Petazzoni <thomas.petazzoni@free-electrons.com>2008-04-28 05:14:14 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2008-04-28 11:58:30 -0400
commit7ae9392c0a3bc01562361bb21e23dfb2e5c81c5a (patch)
tree96affc937131086ee823d328f1b8c06b167350e2
parentd83fd8a26769c75d51a6b05d8dcb3e36302dd8ba (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/Kconfig12
-rw-r--r--include/linux/dmi.h1
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
86config ARCH_MAY_HAVE_PC_FDC 86config ARCH_MAY_HAVE_PC_FDC
87 def_bool y 87 def_bool y
88 88
89config DMI
90 def_bool y
91
92config RWSEM_GENERIC_SPINLOCK 89config 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.
485config 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
488config GART_IOMMU 494config 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;
90static inline const char * dmi_get_system_info(int field) { return NULL; } 90static inline const char * dmi_get_system_info(int field) { return NULL; }
91static inline const struct dmi_device * dmi_find_device(int type, const char *name, 91static 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; }
93static inline void dmi_scan_machine(void) { return; }
93static inline int dmi_get_year(int year) { return 0; } 94static inline int dmi_get_year(int year) { return 0; }
94static inline int dmi_name_in_vendors(const char *s) { return 0; } 95static inline int dmi_name_in_vendors(const char *s) { return 0; }
95#define dmi_available 0 96#define dmi_available 0