#include <linux/acpi.h>
#include <linux/types.h>
#include <linux/delay.h>
#include <linux/wait.h>
#include <linux/mii.h>
#include <linux/ethtool.h>
#include <linux/bitops.h>
#include <linux/netdevice.h>
#include <linux/platform_device.h>
#include <linux/phy.h>
#include <linux/phy_fixed.h>
#include <linux/brcmphy.h>
#include <linux/of.h>
#include <linux/of_net.h>
#include <linux/of_mdio.h>
#include <linux/platform_data/bcmgenet.h>
#include <linux/platform_data/mdio-bcm-unimac.h>
#include "bcmgenet.h"
static void bcmgenet_mac_config(struct net_device *dev)
{ … }
void bcmgenet_mii_setup(struct net_device *dev)
{ … }
static int bcmgenet_fixed_phy_link_update(struct net_device *dev,
struct fixed_phy_status *status)
{ … }
void bcmgenet_phy_pause_set(struct net_device *dev, bool rx, bool tx)
{ … }
void bcmgenet_phy_power_set(struct net_device *dev, bool enable)
{ … }
static void bcmgenet_moca_phy_setup(struct bcmgenet_priv *priv)
{ … }
int bcmgenet_mii_config(struct net_device *dev, bool init)
{ … }
int bcmgenet_mii_probe(struct net_device *dev)
{ … }
static struct device_node *bcmgenet_mii_of_find_mdio(struct bcmgenet_priv *priv)
{ … }
static void bcmgenet_mii_pdata_init(struct bcmgenet_priv *priv,
struct unimac_mdio_pdata *ppd)
{ … }
static int bcmgenet_mii_wait(void *wait_func_data)
{ … }
static int bcmgenet_mii_register(struct bcmgenet_priv *priv)
{ … }
static int bcmgenet_phy_interface_init(struct bcmgenet_priv *priv)
{ … }
static int bcmgenet_mii_of_init(struct bcmgenet_priv *priv)
{ … }
static int bcmgenet_mii_pd_init(struct bcmgenet_priv *priv)
{ … }
static int bcmgenet_mii_bus_init(struct bcmgenet_priv *priv)
{ … }
int bcmgenet_mii_init(struct net_device *dev)
{ … }
void bcmgenet_mii_exit(struct net_device *dev)
{ … }