#include <linux/delay.h>
#include <linux/etherdevice.h>
#include <linux/jiffies.h>
#include <linux/list.h>
#include <linux/module.h>
#include <linux/netdevice.h>
#include <linux/phy.h>
#include <net/dsa.h>
#include "mv88e6060.h"
static int reg_read(struct mv88e6060_priv *priv, int addr, int reg)
{ … }
static int reg_write(struct mv88e6060_priv *priv, int addr, int reg, u16 val)
{ … }
static const char *mv88e6060_get_name(struct mii_bus *bus, int sw_addr)
{ … }
static enum dsa_tag_protocol mv88e6060_get_tag_protocol(struct dsa_switch *ds,
int port,
enum dsa_tag_protocol m)
{ … }
static int mv88e6060_switch_reset(struct mv88e6060_priv *priv)
{ … }
static int mv88e6060_setup_global(struct mv88e6060_priv *priv)
{ … }
static int mv88e6060_setup_port(struct mv88e6060_priv *priv, int p)
{ … }
static int mv88e6060_setup_addr(struct mv88e6060_priv *priv)
{ … }
static int mv88e6060_setup(struct dsa_switch *ds)
{ … }
static int mv88e6060_port_to_phy_addr(int port)
{ … }
static int mv88e6060_phy_read(struct dsa_switch *ds, int port, int regnum)
{ … }
static int
mv88e6060_phy_write(struct dsa_switch *ds, int port, int regnum, u16 val)
{ … }
static void mv88e6060_phylink_get_caps(struct dsa_switch *ds, int port,
struct phylink_config *config)
{ … }
static const struct dsa_switch_ops mv88e6060_switch_ops = …;
static int mv88e6060_probe(struct mdio_device *mdiodev)
{ … }
static void mv88e6060_remove(struct mdio_device *mdiodev)
{ … }
static void mv88e6060_shutdown(struct mdio_device *mdiodev)
{ … }
static const struct of_device_id mv88e6060_of_match[] = …;
static struct mdio_driver mv88e6060_driver = …;
mdio_module_driver(mv88e6060_driver);
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;
MODULE_ALIAS(…) …;