#include <linux/module.h>
#include <linux/device.h>
#include <linux/netdevice.h>
#include <linux/platform_device.h>
#include <linux/interrupt.h>
#include <linux/of.h>
#include <linux/of_net.h>
#include <linux/of_mdio.h>
#include <net/switchdev.h>
#include <linux/etherdevice.h>
#include <linux/io.h>
#include <linux/printk.h>
#include <linux/iopoll.h>
#include <linux/mfd/syscon.h>
#include <linux/regmap.h>
#include <linux/types.h>
#include <linux/reset.h>
#include "sparx5_main_regs.h"
#include "sparx5_main.h"
#include "sparx5_port.h"
#include "sparx5_qos.h"
#define QLIM_WM(fraction) …
#define IO_RANGES …
struct initial_port_config { … };
struct sparx5_ram_config { … };
struct sparx5_main_io_resource { … };
static const struct sparx5_main_io_resource sparx5_main_iomap[] = …;
static int sparx5_create_targets(struct sparx5 *sparx5)
{ … }
static int sparx5_create_port(struct sparx5 *sparx5,
struct initial_port_config *config)
{ … }
static int sparx5_init_ram(struct sparx5 *s5)
{ … }
static int sparx5_init_switchcore(struct sparx5 *sparx5)
{ … }
static int sparx5_init_coreclock(struct sparx5 *sparx5)
{ … }
static int sparx5_qlim_set(struct sparx5 *sparx5)
{ … }
static void sparx5_board_init(struct sparx5 *sparx5)
{ … }
static int sparx5_start(struct sparx5 *sparx5)
{ … }
static void sparx5_cleanup_ports(struct sparx5 *sparx5)
{ … }
static int mchp_sparx5_probe(struct platform_device *pdev)
{ … }
static void mchp_sparx5_remove(struct platform_device *pdev)
{ … }
static const struct of_device_id mchp_sparx5_match[] = …;
MODULE_DEVICE_TABLE(of, mchp_sparx5_match);
static struct platform_driver mchp_sparx5_driver = …;
module_platform_driver(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_AUTHOR(…) …;
MODULE_LICENSE(…) …;