From d157e249f3bf816c7d69441686fb548632693104 Mon Sep 17 00:00:00 2001 From: Michael Brown Date: Wed, 23 Feb 2011 17:52:13 +0000 Subject: [PATCH] [bofm] Allow garbage collection of BOFM code in non-BOFM builds Most builds will not have BOFM enabled. In these builds, allow all BOFM code (including BOFM-only code within the individual drivers) to be garbage-collected at link time in order to save space in the final binary. Signed-off-by: Michael Brown --- src/include/ipxe/bofm.h | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/include/ipxe/bofm.h b/src/include/ipxe/bofm.h index cc57e1e6d..1da47f651 100644 --- a/src/include/ipxe/bofm.h +++ b/src/include/ipxe/bofm.h @@ -13,6 +13,7 @@ FILE_LICENCE ( GPL2_OR_LATER ); #include #include #include +#include /** 'IBM ' signature * @@ -316,8 +317,16 @@ struct bofm_operations { /** BOFM driver table */ #define BOFM_DRIVERS __table ( struct pci_driver, "bofm_drivers" ) -/** Declare a BOFM driver */ +/** Declare a BOFM driver + * + * In the common case of non-BOFM-enabled builds, allow any BOFM code + * to be garbage-collected at link time to save space. + */ +#ifdef CONFIG_BOFM #define __bofm_driver __table_entry ( BOFM_DRIVERS, 01 ) +#else +#define __bofm_driver +#endif /** * Initialise BOFM device