While we're here, fix the broken #ifdef handling in _exports.h.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
        gd->jt[XF_i2c_write] = (void *) i2c_write;
        gd->jt[XF_i2c_read] = (void *) i2c_read;
 #endif
+#ifdef CONFIG_CMD_SPI
+       gd->jt[XF_spi_init] = (void *) spi_init;
+       gd->jt[XF_spi_setup_slave] = (void *) spi_setup_slave;
+       gd->jt[XF_spi_free_slave] = (void *) spi_free_slave;
+       gd->jt[XF_spi_claim_bus] = (void *) spi_claim_bus;
+       gd->jt[XF_spi_release_bus] = (void *) spi_release_bus;
+       gd->jt[XF_spi_xfer] = (void *) spi_xfer;
+#endif
 }
 
+/*
+ * You do not need to use #ifdef around functions that may not exist
+ * in the final configuration (such as i2c).
+ */
 EXPORT_FUNC(get_version)
 EXPORT_FUNC(getc)
 EXPORT_FUNC(tstc)
 EXPORT_FUNC(do_reset)
 EXPORT_FUNC(getenv)
 EXPORT_FUNC(setenv)
-#ifdef CONFIG_HAS_UID
 EXPORT_FUNC(forceenv)
-#endif
 EXPORT_FUNC(simple_strtoul)
 EXPORT_FUNC(simple_strtol)
 EXPORT_FUNC(strcmp)
-#if defined(CONFIG_CMD_I2C)
 EXPORT_FUNC(i2c_write)
 EXPORT_FUNC(i2c_read)
-#endif
+EXPORT_FUNC(spi_init)
+EXPORT_FUNC(spi_setup_slave)
+EXPORT_FUNC(spi_free_slave)
+EXPORT_FUNC(spi_claim_bus)
+EXPORT_FUNC(spi_release_bus)
+EXPORT_FUNC(spi_xfer)
 
 int i2c_write (uchar, uint, int , uchar* , int);
 int i2c_read (uchar, uint, int , uchar* , int);
 #endif
+#include <spi.h>
 
 void app_startup(char **);
 
        XF_MAX
 };
 
-#define XF_VERSION     4
+#define XF_VERSION     5
 
 #if defined(CONFIG_I386)
 extern gd_t *global_data;