#include <linux/mdio.h>
#include <linux/phylink.h>
#include <linux/pcs-lynx.h>
#include <linux/property.h>
#define SGMII_CLOCK_PERIOD_NS …
#define LINK_TIMER_VAL(ns) …
#define LINK_TIMER_LO …
#define LINK_TIMER_HI …
#define IF_MODE …
#define IF_MODE_SGMII_EN …
#define IF_MODE_USE_SGMII_AN …
#define IF_MODE_SPEED(x) …
#define IF_MODE_SPEED_MSK …
#define IF_MODE_HALF_DUPLEX …
struct lynx_pcs { … };
enum sgmii_speed { … };
#define phylink_pcs_to_lynx(pl_pcs) …
#define lynx_to_phylink_pcs(lynx) …
static void lynx_pcs_get_state_usxgmii(struct mdio_device *pcs,
struct phylink_link_state *state)
{ … }
static void lynx_pcs_get_state_2500basex(struct mdio_device *pcs,
struct phylink_link_state *state)
{ … }
static void lynx_pcs_get_state(struct phylink_pcs *pcs,
struct phylink_link_state *state)
{ … }
static int lynx_pcs_config_giga(struct mdio_device *pcs,
phy_interface_t interface,
const unsigned long *advertising,
unsigned int neg_mode)
{ … }
static int lynx_pcs_config_usxgmii(struct mdio_device *pcs,
const unsigned long *advertising,
unsigned int neg_mode)
{ … }
static int lynx_pcs_config(struct phylink_pcs *pcs, unsigned int neg_mode,
phy_interface_t ifmode,
const unsigned long *advertising, bool permit)
{ … }
static void lynx_pcs_an_restart(struct phylink_pcs *pcs)
{ … }
static void lynx_pcs_link_up_sgmii(struct mdio_device *pcs,
unsigned int neg_mode,
int speed, int duplex)
{ … }
static void lynx_pcs_link_up_2500basex(struct mdio_device *pcs,
unsigned int neg_mode,
int speed, int duplex)
{ … }
static void lynx_pcs_link_up(struct phylink_pcs *pcs, unsigned int neg_mode,
phy_interface_t interface,
int speed, int duplex)
{ … }
static const struct phylink_pcs_ops lynx_pcs_phylink_ops = …;
static struct phylink_pcs *lynx_pcs_create(struct mdio_device *mdio)
{ … }
struct phylink_pcs *lynx_pcs_create_mdiodev(struct mii_bus *bus, int addr)
{ … }
EXPORT_SYMBOL(…);
struct phylink_pcs *lynx_pcs_create_fwnode(struct fwnode_handle *node)
{ … }
EXPORT_SYMBOL_GPL(…);
void lynx_pcs_destroy(struct phylink_pcs *pcs)
{ … }
EXPORT_SYMBOL(…);
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;