[U-Boot] [PATCH v3] export SPI functions to standalone apps

Mike Frysinger vapier at gentoo.org
Thu Jul 23 22:37:48 CEST 2009


While we're here, fix the broken #ifdef handling in _exports.h.

Signed-off-by: Mike Frysinger <vapier at gentoo.org>
---
v3
	- tweak code style

 common/exports.c   |    8 ++++++++
 include/_exports.h |   14 ++++++++++----
 include/exports.h  |    3 ++-
 3 files changed, 20 insertions(+), 5 deletions(-)

diff --git a/common/exports.c b/common/exports.c
index ec4656b..b3b6e1f 100644
--- a/common/exports.c
+++ b/common/exports.c
@@ -38,4 +38,12 @@ void jumptable_init (void)
 	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
 }
diff --git a/include/_exports.h b/include/_exports.h
index af43885..f3df568 100644
--- a/include/_exports.h
+++ b/include/_exports.h
@@ -1,3 +1,7 @@
+/*
+ * 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)
@@ -14,13 +18,15 @@ EXPORT_FUNC(vprintf)
 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)
diff --git a/include/exports.h b/include/exports.h
index 0620e9e..16ea03a 100644
--- a/include/exports.h
+++ b/include/exports.h
@@ -33,6 +33,7 @@ void forceenv (char *varname, char *varvalue);
 int i2c_write (uchar, uint, int , uchar* , int);
 int i2c_read (uchar, uint, int , uchar* , int);
 #endif
+#include <spi.h>
 
 void app_startup(char **);
 
@@ -46,7 +47,7 @@ enum {
 	XF_MAX
 };
 
-#define XF_VERSION	4
+#define XF_VERSION	5
 
 #if defined(CONFIG_I386)
 extern gd_t *global_data;
-- 
1.6.3.3



More information about the U-Boot mailing list