1bedd8403SMike Frysinger /* 249cad547SMartin Dorwig * You need to use #ifdef around functions that may not exist 3bedd8403SMike Frysinger * in the final configuration (such as i2c). 449cad547SMartin Dorwig * use a dummyfunction as first parameter to EXPORT_FUNC. 549cad547SMartin Dorwig * As an example see the CONFIG_CMD_I2C section below 6bedd8403SMike Frysinger */ 749cad547SMartin Dorwig #ifndef EXPORT_FUNC 849cad547SMartin Dorwig #define EXPORT_FUNC(a, b, c, ...) 949cad547SMartin Dorwig #endif 1049cad547SMartin Dorwig EXPORT_FUNC(get_version, unsigned long, get_version, void) 1149cad547SMartin Dorwig EXPORT_FUNC(getc, int, getc, void) 1249cad547SMartin Dorwig EXPORT_FUNC(tstc, int, tstc, void) 1349cad547SMartin Dorwig EXPORT_FUNC(putc, void, putc, const char) 1449cad547SMartin Dorwig EXPORT_FUNC(puts, void, puts, const char *) 1549cad547SMartin Dorwig EXPORT_FUNC(printf, int, printf, const char*, ...) 165d7ec3d8SSimon Glass #if (defined(CONFIG_X86) && !defined(CONFIG_X86_64)) || defined(CONFIG_PPC) 1749cad547SMartin Dorwig EXPORT_FUNC(irq_install_handler, void, install_hdlr, 1849cad547SMartin Dorwig int, interrupt_handler_t, void*) 1949cad547SMartin Dorwig 2049cad547SMartin Dorwig EXPORT_FUNC(irq_free_handler, void, free_hdlr, int) 2149cad547SMartin Dorwig #else 2249cad547SMartin Dorwig EXPORT_FUNC(dummy, void, install_hdlr, void) 2349cad547SMartin Dorwig EXPORT_FUNC(dummy, void, free_hdlr, void) 2449cad547SMartin Dorwig #endif 2549cad547SMartin Dorwig EXPORT_FUNC(malloc, void *, malloc, size_t) 261eb0c03cSHans de Goede #if !CONFIG_IS_ENABLED(SYS_MALLOC_SIMPLE) 2749cad547SMartin Dorwig EXPORT_FUNC(free, void, free, void *) 2890594919SSimon Glass #endif 2949cad547SMartin Dorwig EXPORT_FUNC(udelay, void, udelay, unsigned long) 3049cad547SMartin Dorwig EXPORT_FUNC(get_timer, unsigned long, get_timer, unsigned long) 3149cad547SMartin Dorwig EXPORT_FUNC(vprintf, int, vprintf, const char *, va_list) 3249cad547SMartin Dorwig EXPORT_FUNC(do_reset, int, do_reset, cmd_tbl_t *, 3349cad547SMartin Dorwig int , int , char * const []) 34*00caae6dSSimon Glass EXPORT_FUNC(env_get, char *, env_get, const char*) 35382bee57SSimon Glass EXPORT_FUNC(env_set, int, env_set, const char *, const char *) 3649cad547SMartin Dorwig EXPORT_FUNC(simple_strtoul, unsigned long, simple_strtoul, 3749cad547SMartin Dorwig const char *, char **, unsigned int) 3849cad547SMartin Dorwig EXPORT_FUNC(strict_strtoul, int, strict_strtoul, 3949cad547SMartin Dorwig const char *, unsigned int , unsigned long *) 4049cad547SMartin Dorwig EXPORT_FUNC(simple_strtol, long, simple_strtol, 4149cad547SMartin Dorwig const char *, char **, unsigned int) 4249cad547SMartin Dorwig EXPORT_FUNC(strcmp, int, strcmp, const char *cs, const char *ct) 4349cad547SMartin Dorwig #if defined(CONFIG_CMD_I2C) && \ 4449cad547SMartin Dorwig (!defined(CONFIG_DM_I2C) || defined(CONFIG_DM_I2C_COMPAT)) 4549cad547SMartin Dorwig EXPORT_FUNC(i2c_write, int, i2c_write, uchar, uint, int , uchar * , int) 4649cad547SMartin Dorwig EXPORT_FUNC(i2c_read, int, i2c_read, uchar, uint, int , uchar * , int) 4749cad547SMartin Dorwig #else 4849cad547SMartin Dorwig EXPORT_FUNC(dummy, void, i2c_write, void) 4949cad547SMartin Dorwig EXPORT_FUNC(dummy, void, i2c_read, void) 5049cad547SMartin Dorwig #endif 5149cad547SMartin Dorwig 5249cad547SMartin Dorwig #if !defined(CONFIG_CMD_SPI) || defined(CONFIG_DM_SPI) 5349cad547SMartin Dorwig EXPORT_FUNC(dummy, void, spi_setup_slave, void) 5449cad547SMartin Dorwig EXPORT_FUNC(dummy, void, spi_free_slave, void) 5549cad547SMartin Dorwig #else 5649cad547SMartin Dorwig EXPORT_FUNC(spi_setup_slave, struct spi_slave *, spi_setup_slave, 5749cad547SMartin Dorwig unsigned int, unsigned int, unsigned int, unsigned int) 5849cad547SMartin Dorwig EXPORT_FUNC(spi_free_slave, void, spi_free_slave, struct spi_slave *) 5949cad547SMartin Dorwig #endif 6049cad547SMartin Dorwig #ifndef CONFIG_CMD_SPI 6149cad547SMartin Dorwig EXPORT_FUNC(dummy, void, spi_claim_bus, void) 6249cad547SMartin Dorwig EXPORT_FUNC(dummy, void, spi_release_bus, void) 6349cad547SMartin Dorwig EXPORT_FUNC(dummy, void, spi_xfer, void) 6449cad547SMartin Dorwig #else 6549cad547SMartin Dorwig EXPORT_FUNC(spi_claim_bus, int, spi_claim_bus, struct spi_slave *) 6649cad547SMartin Dorwig EXPORT_FUNC(spi_release_bus, void, spi_release_bus, struct spi_slave *) 6749cad547SMartin Dorwig EXPORT_FUNC(spi_xfer, int, spi_xfer, struct spi_slave *, 6849cad547SMartin Dorwig unsigned int, const void *, void *, unsigned long) 6949cad547SMartin Dorwig #endif 7049cad547SMartin Dorwig EXPORT_FUNC(ustrtoul, unsigned long, ustrtoul, 7149cad547SMartin Dorwig const char *, char **, unsigned int) 7249cad547SMartin Dorwig EXPORT_FUNC(ustrtoull, unsigned long long, ustrtoull, 7349cad547SMartin Dorwig const char *, char **, unsigned int) 7495279315SPrabhakar Kushwaha EXPORT_FUNC(strcpy, char *, strcpy, char *dest, const char *src) 7595279315SPrabhakar Kushwaha EXPORT_FUNC(mdelay, void, mdelay, unsigned long msec) 769578c427SShaohui Xie EXPORT_FUNC(memset, void *, memset, void *, int, size_t) 7795279315SPrabhakar Kushwaha #ifdef CONFIG_PHY_AQUANTIA 7895279315SPrabhakar Kushwaha EXPORT_FUNC(mdio_get_current_dev, struct mii_dev *, 7995279315SPrabhakar Kushwaha mdio_get_current_dev, void) 8095279315SPrabhakar Kushwaha EXPORT_FUNC(phy_find_by_mask, struct phy_device *, phy_find_by_mask, 8195279315SPrabhakar Kushwaha struct mii_dev *bus, unsigned phy_mask, 8295279315SPrabhakar Kushwaha phy_interface_t interface) 8395279315SPrabhakar Kushwaha EXPORT_FUNC(mdio_phydev_for_ethname, struct phy_device *, 8495279315SPrabhakar Kushwaha mdio_phydev_for_ethname, const char *ethname) 8595279315SPrabhakar Kushwaha EXPORT_FUNC(miiphy_set_current_dev, int, miiphy_set_current_dev, 8695279315SPrabhakar Kushwaha const char *devname) 8795279315SPrabhakar Kushwaha #endif 88