mirror of
https://github.com/u-boot/u-boot.git
synced 2024-11-27 14:14:37 +08:00
e24b58f5ed
Currently we require PHY interface mode to be known when finding/creating the PHY - the functions * phy_connect_phy_id() * phy_device_create() * create_phy_by_mask() * search_for_existing_phy() * get_phy_device_by_mask() * phy_find_by_mask() all require the interface parameter, but the only thing done with it is that it is assigned to phydev->interface. This makes it impossible to find a PHY device without overwriting the set mode. Since the interface mode is not used during .probe() and should be used at first in .config(), drop the interface parameter from these functions. Make the default value of phydev->interface (in phy_device_create()) to be PHY_INTERFACE_MODE_NA. Move the interface parameter to phy_connect_dev(), where it should be. Change all occurrences treewide. In occurrences where we don't call phy_connect_dev() for some reason (they only configure the PHY without connecting it to an ethernet controller), set phydev->interface = value from phy_find_by_mask call. Signed-off-by: Marek Behún <marek.behun@nic.cz> Reviewed-by: Ramon Fried <rfried.dev@gmail.com> Reviewed-by: Vladimir Oltean <vladimir.oltean@nxp.com>
81 lines
2.1 KiB
C
81 lines
2.1 KiB
C
#ifndef __EXPORTS_H__
|
|
#define __EXPORTS_H__
|
|
|
|
#include <irq_func.h>
|
|
#include <asm/global_data.h>
|
|
#include <linux/delay.h>
|
|
|
|
#ifndef __ASSEMBLY__
|
|
#ifdef CONFIG_PHY_AQUANTIA
|
|
#include <env.h>
|
|
#include <phy_interface.h>
|
|
#endif
|
|
|
|
#include <irq_func.h>
|
|
|
|
struct cmd_tbl;
|
|
struct spi_slave;
|
|
|
|
/**
|
|
* jumptable_init() - Set up the jump table for use by the API
|
|
*
|
|
* It is called during the generic post-relocation init sequence.
|
|
*
|
|
* Return: 0 if OK
|
|
*/
|
|
int jumptable_init(void);
|
|
|
|
/* These are declarations of exported functions available in C code */
|
|
unsigned long get_version(void);
|
|
int getc(void);
|
|
int tstc(void);
|
|
void putc(const char);
|
|
void puts(const char*);
|
|
int printf(const char* fmt, ...);
|
|
void install_hdlr(int, interrupt_handler_t, void*);
|
|
void free_hdlr(int);
|
|
void *malloc(size_t);
|
|
#if !CONFIG_IS_ENABLED(SYS_MALLOC_SIMPLE)
|
|
void free(void*);
|
|
#endif
|
|
void __udelay(unsigned long);
|
|
unsigned long get_timer(unsigned long);
|
|
int vprintf(const char *, va_list);
|
|
unsigned long simple_strtoul(const char *cp, char **endp, unsigned int base);
|
|
int strict_strtoul(const char *cp, unsigned int base, unsigned long *res);
|
|
char *env_get(const char *name);
|
|
int env_set(const char *varname, const char *value);
|
|
long simple_strtol(const char *cp, char **endp, unsigned int base);
|
|
int strcmp(const char *cs, const char *ct);
|
|
unsigned long ustrtoul(const char *cp, char **endp, unsigned int base);
|
|
unsigned long long ustrtoull(const char *cp, char **endp, unsigned int base);
|
|
#if defined(CONFIG_CMD_I2C) && !CONFIG_IS_ENABLED(DM_I2C)
|
|
int i2c_write (uchar, uint, int , uchar* , int);
|
|
int i2c_read (uchar, uint, int , uchar* , int);
|
|
#endif
|
|
#ifdef CONFIG_PHY_AQUANTIA
|
|
struct mii_dev *mdio_get_current_dev(void);
|
|
struct phy_device *phy_find_by_mask(struct mii_dev *bus, unsigned phy_mask);
|
|
struct phy_device *mdio_phydev_for_ethname(const char *ethname);
|
|
int miiphy_set_current_dev(const char *devname);
|
|
#endif
|
|
|
|
void app_startup(char * const *);
|
|
|
|
#endif /* ifndef __ASSEMBLY__ */
|
|
|
|
struct jt_funcs {
|
|
#define EXPORT_FUNC(impl, res, func, ...) res(*func)(__VA_ARGS__);
|
|
#include <_exports.h>
|
|
#undef EXPORT_FUNC
|
|
};
|
|
|
|
|
|
#define XF_VERSION 9
|
|
|
|
#if defined(CONFIG_X86)
|
|
extern gd_t *global_data;
|
|
#endif
|
|
|
|
#endif /* __EXPORTS_H__ */
|