550cafdc7a143dd54f3eeb7512df21079551e9f4
[platform/kernel/u-boot.git] / include / exports.h
1 #ifndef __EXPORTS_H__
2 #define __EXPORTS_H__
3
4 #include <irq_func.h>
5 #include <asm/global_data.h>
6 #include <linux/delay.h>
7
8 #ifndef __ASSEMBLY__
9 #ifdef CONFIG_PHY_AQUANTIA
10 #include <env.h>
11 #include <phy_interface.h>
12 #endif
13
14 #include <irq_func.h>
15
16 struct cmd_tbl;
17 struct spi_slave;
18
19 /**
20  * jumptable_init() - Set up the jump table for use by the API
21  *
22  * It is called during the generic post-relocation init sequence.
23  *
24  * Return: 0 if OK
25  */
26 int jumptable_init(void);
27
28 /* These are declarations of exported functions available in C code */
29 unsigned long get_version(void);
30 int  getc(void);
31 int  tstc(void);
32 void putc(const char);
33 void puts(const char*);
34 int printf(const char* fmt, ...);
35 void install_hdlr(int, interrupt_handler_t, void*);
36 void free_hdlr(int);
37 void *malloc(size_t);
38 #if !CONFIG_IS_ENABLED(SYS_MALLOC_SIMPLE)
39 void free(void*);
40 #endif
41 void __udelay(unsigned long);
42 unsigned long get_timer(unsigned long);
43 int vprintf(const char *, va_list);
44 unsigned long simple_strtoul(const char *cp, char **endp, unsigned int base);
45 int strict_strtoul(const char *cp, unsigned int base, unsigned long *res);
46 char *env_get(const char *name);
47 int env_set(const char *varname, const char *value);
48 long simple_strtol(const char *cp, char **endp, unsigned int base);
49 int strcmp(const char *cs, const char *ct);
50 unsigned long ustrtoul(const char *cp, char **endp, unsigned int base);
51 unsigned long long ustrtoull(const char *cp, char **endp, unsigned int base);
52 #if defined(CONFIG_CMD_I2C) && !CONFIG_IS_ENABLED(DM_I2C)
53 int i2c_write (uchar, uint, int , uchar* , int);
54 int i2c_read (uchar, uint, int , uchar* , int);
55 #endif
56 #ifdef CONFIG_PHY_AQUANTIA
57 struct mii_dev *mdio_get_current_dev(void);
58 struct phy_device *phy_find_by_mask(struct mii_dev *bus, unsigned phy_mask,
59                 phy_interface_t interface);
60 struct phy_device *mdio_phydev_for_ethname(const char *ethname);
61 int miiphy_set_current_dev(const char *devname);
62 #endif
63
64 void app_startup(char * const *);
65
66 #endif    /* ifndef __ASSEMBLY__ */
67
68 struct jt_funcs {
69 #define EXPORT_FUNC(impl, res, func, ...) res(*func)(__VA_ARGS__);
70 #include <_exports.h>
71 #undef EXPORT_FUNC
72 };
73
74
75 #define XF_VERSION      9
76
77 #if defined(CONFIG_X86)
78 extern gd_t *global_data;
79 #endif
80
81 #endif  /* __EXPORTS_H__ */