#include <linux/platform_device.h>
#include <linux/nvmem-consumer.h>
#include <linux/etherdevice.h>
#include <linux/netdevice.h>
#include <linux/spinlock.h>
#include <linux/of_net.h>
#include <linux/reset.h>
#include <linux/clk.h>
#include <linux/of.h>
#include "spl2sw_register.h"
#include "spl2sw_define.h"
#include "spl2sw_desc.h"
#include "spl2sw_mdio.h"
#include "spl2sw_phy.h"
#include "spl2sw_int.h"
#include "spl2sw_mac.h"
static int spl2sw_ethernet_open(struct net_device *ndev)
{ … }
static int spl2sw_ethernet_stop(struct net_device *ndev)
{ … }
static netdev_tx_t spl2sw_ethernet_start_xmit(struct sk_buff *skb,
struct net_device *ndev)
{ … }
static void spl2sw_ethernet_set_rx_mode(struct net_device *ndev)
{ … }
static int spl2sw_ethernet_set_mac_address(struct net_device *ndev, void *addr)
{ … }
static void spl2sw_ethernet_tx_timeout(struct net_device *ndev, unsigned int txqueue)
{ … }
static const struct net_device_ops netdev_ops = …;
static void spl2sw_check_mac_vendor_id_and_convert(u8 *mac_addr)
{ … }
static int spl2sw_nvmem_get_mac_address(struct device *dev, struct device_node *np,
void *addrbuf)
{ … }
static u32 spl2sw_init_netdev(struct platform_device *pdev, u8 *mac_addr,
struct net_device **r_ndev)
{ … }
static struct device_node *spl2sw_get_eth_child_node(struct device_node *ether_np, int id)
{ … }
static int spl2sw_probe(struct platform_device *pdev)
{ … }
static void spl2sw_remove(struct platform_device *pdev)
{ … }
static const struct of_device_id spl2sw_of_match[] = …;
MODULE_DEVICE_TABLE(of, spl2sw_of_match);
static struct platform_driver spl2sw_driver = …;
module_platform_driver(…) …;
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;