#include <linux/platform_device.h>
#include <linux/types.h>
#include <soc/mscc/ocelot_vcap.h>
#include <soc/mscc/ocelot_sys.h>
#include <soc/mscc/ocelot.h>
#include <linux/mdio/mdio-mscc-miim.h>
#include <linux/mod_devicetable.h>
#include <linux/of_mdio.h>
#include <linux/pcs-lynx.h>
#include <linux/dsa/ocelot.h>
#include <linux/iopoll.h>
#include "felix.h"
#define VSC9953_NUM_PORTS …
#define VSC9953_VCAP_POLICER_BASE …
#define VSC9953_VCAP_POLICER_MAX …
#define VSC9953_VCAP_POLICER_BASE2 …
#define VSC9953_VCAP_POLICER_MAX2 …
#define VSC9953_PORT_MODE_SERDES …
static const u32 vsc9953_port_modes[VSC9953_NUM_PORTS] = …;
static const u32 vsc9953_ana_regmap[] = …;
static const u32 vsc9953_qs_regmap[] = …;
static const u32 vsc9953_vcap_regmap[] = …;
static const u32 vsc9953_qsys_regmap[] = …;
static const u32 vsc9953_rew_regmap[] = …;
static const u32 vsc9953_sys_regmap[] = …;
static const u32 vsc9953_gcb_regmap[] = …;
static const u32 vsc9953_dev_gmii_regmap[] = …;
static const u32 *vsc9953_regmap[TARGET_MAX] = …;
static const struct resource vsc9953_resources[] = …;
static const char * const vsc9953_resource_names[TARGET_MAX] = …;
static const struct reg_field vsc9953_regfields[REGFIELD_MAX] = …;
static const struct vcap_field vsc9953_vcap_es0_keys[] = …;
static const struct vcap_field vsc9953_vcap_es0_actions[] = …;
static const struct vcap_field vsc9953_vcap_is1_keys[] = …;
static const struct vcap_field vsc9953_vcap_is1_actions[] = …;
static struct vcap_field vsc9953_vcap_is2_keys[] = …;
static struct vcap_field vsc9953_vcap_is2_actions[] = …;
static struct vcap_props vsc9953_vcap_props[] = …;
#define VSC9953_INIT_TIMEOUT …
#define VSC9953_GCB_RST_SLEEP …
#define VSC9953_SYS_RAMINIT_SLEEP …
static int vsc9953_gcb_soft_rst_status(struct ocelot *ocelot)
{ … }
static int vsc9953_sys_ram_init_status(struct ocelot *ocelot)
{ … }
static int vsc9953_reset(struct ocelot *ocelot)
{ … }
static u16 vsc9953_wm_enc(u16 value)
{ … }
static u16 vsc9953_wm_dec(u16 wm)
{ … }
static void vsc9953_wm_stat(u32 val, u32 *inuse, u32 *maxuse)
{ … }
static const struct ocelot_ops vsc9953_ops = …;
static int vsc9953_mdio_bus_alloc(struct ocelot *ocelot)
{ … }
static void vsc9953_mdio_bus_free(struct ocelot *ocelot)
{ … }
static const struct felix_info seville_info_vsc9953 = …;
static int seville_probe(struct platform_device *pdev)
{ … }
static void seville_remove(struct platform_device *pdev)
{ … }
static void seville_shutdown(struct platform_device *pdev)
{ … }
static const struct of_device_id seville_of_match[] = …;
MODULE_DEVICE_TABLE(of, seville_of_match);
static struct platform_driver seville_vsc9953_driver = …;
module_platform_driver(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;