]> git.kernelconcepts.de Git - karo-tx-uboot.git/blobdiff - common/exports.c
tpm: Move the I2C TPM code into one file
[karo-tx-uboot.git] / common / exports.c
index 0cb4396ea4ae0a73e781729fe0c267bc40e7bc24..b4f1f7af152997607aeab793637d2a832380abab 100644 (file)
@@ -1,9 +1,11 @@
 #include <common.h>
 #include <exports.h>
+#include <spi.h>
+#include <i2c.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
-static void dummy(void)
+__attribute__((unused)) static void dummy(void)
 {
 }
 
@@ -12,28 +14,17 @@ unsigned long get_version(void)
        return XF_VERSION;
 }
 
-void jumptable_init (void)
-{
-       int i;
+#define EXPORT_FUNC(f, a, x, ...)  gd->jt->x = f;
 
-       gd->jt = (void **) malloc (XF_MAX * sizeof (void *));
-       for (i = 0; i < XF_MAX; i++)
-               gd->jt[i] = (void *) dummy;
+#ifndef CONFIG_PHY_AQUANTIA
+# define mdio_get_current_dev          dummy
+# define phy_find_by_mask              dummy
+# define mdio_phydev_for_ethname       dummy
+# define miiphy_set_current_dev                dummy
+#endif
 
-       gd->jt[XF_get_version] = (void *) get_version;
-       gd->jt[XF_malloc] = (void *) malloc;
-       gd->jt[XF_free] = (void *) free;
-       gd->jt[XF_getenv] = (void *) getenv;
-       gd->jt[XF_setenv] = (void *) setenv;
-       gd->jt[XF_get_timer] = (void *) get_timer;
-       gd->jt[XF_simple_strtoul] = (void *) simple_strtoul;
-       gd->jt[XF_udelay] = (void *) udelay;
-#if defined(CONFIG_I386) || defined(CONFIG_PPC)
-       gd->jt[XF_install_hdlr] = (void *) irq_install_handler;
-       gd->jt[XF_free_hdlr] = (void *) irq_free_handler;
-#endif /* I386 || PPC */
-#if (CONFIG_COMMANDS & CFG_CMD_I2C)
-       gd->jt[XF_i2c_write] = (void *) i2c_write;
-       gd->jt[XF_i2c_read] = (void *) i2c_read;
-#endif /* CFG_CMD_I2C */
+void jumptable_init(void)
+{
+       gd->jt = malloc(sizeof(struct jt_funcs));
+#include <_exports.h>
 }