#include <linux/dsa/ocelot.h>
#include <linux/interrupt.h>
#include <linux/module.h>
#include <linux/of_net.h>
#include <linux/netdevice.h>
#include <linux/phylink.h>
#include <linux/of.h>
#include <linux/of_mdio.h>
#include <linux/platform_device.h>
#include <linux/mfd/syscon.h>
#include <linux/skbuff.h>
#include <net/switchdev.h>
#include <soc/mscc/ocelot.h>
#include <soc/mscc/ocelot_vcap.h>
#include <soc/mscc/vsc7514_regs.h>
#include "ocelot_fdma.h"
#include "ocelot.h"
#define VSC7514_VCAP_POLICER_BASE …
#define VSC7514_VCAP_POLICER_MAX …
static int ocelot_chip_init(struct ocelot *ocelot, const struct ocelot_ops *ops)
{ … }
static irqreturn_t ocelot_xtr_irq_handler(int irq, void *arg)
{ … }
static irqreturn_t ocelot_ptp_rdy_irq_handler(int irq, void *arg)
{ … }
static const struct of_device_id mscc_ocelot_match[] = …;
MODULE_DEVICE_TABLE(of, mscc_ocelot_match);
static const struct ocelot_ops ocelot_ops = …;
static struct ptp_clock_info ocelot_ptp_clock_info = …;
static void mscc_ocelot_teardown_devlink_ports(struct ocelot *ocelot)
{ … }
static void mscc_ocelot_release_ports(struct ocelot *ocelot)
{ … }
static int mscc_ocelot_init_ports(struct platform_device *pdev,
struct device_node *ports)
{ … }
static int mscc_ocelot_probe(struct platform_device *pdev)
{ … }
static void mscc_ocelot_remove(struct platform_device *pdev)
{ … }
static struct platform_driver mscc_ocelot_driver = …;
module_platform_driver(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_AUTHOR(…) …;
MODULE_LICENSE(…) …;