[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 <mcb30@ipxe.org>
pull/1/head
Michael Brown 2011-02-23 17:52:13 +00:00
parent 85eefad90c
commit d157e249f3
1 changed files with 10 additions and 1 deletions

View File

@ -13,6 +13,7 @@ FILE_LICENCE ( GPL2_OR_LATER );
#include <stdint.h>
#include <ipxe/list.h>
#include <ipxe/pci.h>
#include <config/sideband.h>
/** '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