#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/iopoll.h>
#include <linux/phy.h>
#include <linux/of_net.h>
#include <linux/if_bridge.h>
#include <linux/if_vlan.h>
#include <linux/math.h>
#include <net/dsa.h>
#include <net/switchdev.h>
#include "lan937x_reg.h"
#include "ksz_common.h"
#include "ksz9477.h"
#include "lan937x.h"
static int lan937x_cfg(struct ksz_device *dev, u32 addr, u8 bits, bool set)
{ … }
static int lan937x_port_cfg(struct ksz_device *dev, int port, int offset,
u8 bits, bool set)
{ … }
static int lan937x_enable_spi_indirect_access(struct ksz_device *dev)
{ … }
static int lan937x_vphy_ind_addr_wr(struct ksz_device *dev, int addr, int reg)
{ … }
static int lan937x_internal_phy_write(struct ksz_device *dev, int addr, int reg,
u16 val)
{ … }
static int lan937x_internal_phy_read(struct ksz_device *dev, int addr, int reg,
u16 *val)
{ … }
int lan937x_r_phy(struct ksz_device *dev, u16 addr, u16 reg, u16 *data)
{ … }
int lan937x_w_phy(struct ksz_device *dev, u16 addr, u16 reg, u16 val)
{ … }
int lan937x_reset_switch(struct ksz_device *dev)
{ … }
void lan937x_port_setup(struct ksz_device *dev, int port, bool cpu_port)
{ … }
void lan937x_config_cpu_port(struct dsa_switch *ds)
{ … }
int lan937x_change_mtu(struct ksz_device *dev, int port, int new_mtu)
{ … }
int lan937x_set_ageing_time(struct ksz_device *dev, unsigned int msecs)
{ … }
static void lan937x_set_tune_adj(struct ksz_device *dev, int port,
u16 reg, u8 val)
{ … }
static void lan937x_set_rgmii_tx_delay(struct ksz_device *dev, int port)
{ … }
static void lan937x_set_rgmii_rx_delay(struct ksz_device *dev, int port)
{ … }
void lan937x_phylink_get_caps(struct ksz_device *dev, int port,
struct phylink_config *config)
{ … }
void lan937x_setup_rgmii_delay(struct ksz_device *dev, int port)
{ … }
int lan937x_tc_cbs_set_cinc(struct ksz_device *dev, int port, u32 val)
{ … }
int lan937x_switch_init(struct ksz_device *dev)
{ … }
int lan937x_setup(struct dsa_switch *ds)
{ … }
void lan937x_teardown(struct dsa_switch *ds)
{ … }
void lan937x_switch_exit(struct ksz_device *dev)
{ … }
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;