#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/phy.h>
#include <linux/oa_tc6.h>
#define DRV_NAME …
#define LAN865X_REG_MAC_NET_CTL …
#define MAC_NET_CTL_TXEN …
#define MAC_NET_CTL_RXEN …
#define LAN865X_REG_MAC_NET_CFG …
#define MAC_NET_CFG_PROMISCUOUS_MODE …
#define MAC_NET_CFG_MULTICAST_MODE …
#define MAC_NET_CFG_UNICAST_MODE …
#define LAN865X_REG_MAC_L_HASH …
#define LAN865X_REG_MAC_H_HASH …
#define LAN865X_REG_MAC_L_SADDR1 …
#define LAN865X_REG_MAC_H_SADDR1 …
struct lan865x_priv { … };
static int lan865x_set_hw_macaddr_low_bytes(struct oa_tc6 *tc6, const u8 *mac)
{ … }
static int lan865x_set_hw_macaddr(struct lan865x_priv *priv, const u8 *mac)
{ … }
static const struct ethtool_ops lan865x_ethtool_ops = …;
static int lan865x_set_mac_address(struct net_device *netdev, void *addr)
{ … }
static u32 get_address_bit(u8 addr[ETH_ALEN], u32 bit)
{ … }
static u32 lan865x_hash(u8 addr[ETH_ALEN])
{ … }
static int lan865x_set_specific_multicast_addr(struct lan865x_priv *priv)
{ … }
static int lan865x_set_all_multicast_addr(struct lan865x_priv *priv)
{ … }
static int lan865x_clear_all_multicast_addr(struct lan865x_priv *priv)
{ … }
static void lan865x_multicast_work_handler(struct work_struct *work)
{ … }
static void lan865x_set_multicast_list(struct net_device *netdev)
{ … }
static netdev_tx_t lan865x_send_packet(struct sk_buff *skb,
struct net_device *netdev)
{ … }
static int lan865x_hw_disable(struct lan865x_priv *priv)
{ … }
static int lan865x_net_close(struct net_device *netdev)
{ … }
static int lan865x_hw_enable(struct lan865x_priv *priv)
{ … }
static int lan865x_net_open(struct net_device *netdev)
{ … }
static const struct net_device_ops lan865x_netdev_ops = …;
static int lan865x_probe(struct spi_device *spi)
{ … }
static void lan865x_remove(struct spi_device *spi)
{ … }
static const struct spi_device_id spidev_spi_ids[] = …;
static const struct of_device_id lan865x_dt_ids[] = …;
MODULE_DEVICE_TABLE(of, lan865x_dt_ids);
static struct spi_driver lan865x_driver = …;
module_spi_driver(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_AUTHOR(…) …;
MODULE_LICENSE(…) …;