#define pr_fmt(fmt) …
#include "ax88796c_main.h"
#include "ax88796c_ioctl.h"
#include <linux/bitmap.h>
#include <linux/etherdevice.h>
#include <linux/iopoll.h>
#include <linux/lockdep.h>
#include <linux/mdio.h>
#include <linux/minmax.h>
#include <linux/module.h>
#include <linux/netdevice.h>
#include <linux/of.h>
#include <linux/phy.h>
#include <linux/skbuff.h>
#include <linux/spi/spi.h>
static int comp = … IS_ENABLED(…);
static int msg_enable = …;
static const char *no_regs_list = …;
unsigned long ax88796c_no_regs_mask[AX88796C_REGDUMP_LEN / (sizeof(unsigned long) * 8)];
module_param(msg_enable, int, 0444);
MODULE_PARM_DESC(…) …;
static int ax88796c_soft_reset(struct ax88796c_device *ax_local)
{ … }
static int ax88796c_reload_eeprom(struct ax88796c_device *ax_local)
{ … }
static void ax88796c_set_hw_multicast(struct net_device *ndev)
{ … }
static void ax88796c_set_mac_addr(struct net_device *ndev)
{ … }
static void ax88796c_load_mac_addr(struct net_device *ndev)
{ … }
static void ax88796c_proc_tx_hdr(struct tx_pkt_info *info, u8 ip_summed)
{ … }
static int
ax88796c_check_free_pages(struct ax88796c_device *ax_local, u8 need_pages)
{ … }
static struct sk_buff *
ax88796c_tx_fixup(struct net_device *ndev, struct sk_buff_head *q)
{ … }
static int ax88796c_hard_xmit(struct ax88796c_device *ax_local)
{ … }
static netdev_tx_t
ax88796c_start_xmit(struct sk_buff *skb, struct net_device *ndev)
{ … }
static void
ax88796c_skb_return(struct ax88796c_device *ax_local,
struct sk_buff *skb, struct rx_header *rxhdr)
{ … }
static void
ax88796c_rx_fixup(struct ax88796c_device *ax_local, struct sk_buff *rx_skb)
{ … }
static int ax88796c_receive(struct net_device *ndev)
{ … }
static int ax88796c_process_isr(struct ax88796c_device *ax_local)
{ … }
static irqreturn_t ax88796c_interrupt(int irq, void *dev_instance)
{ … }
static void ax88796c_work(struct work_struct *work)
{ … }
static void ax88796c_get_stats64(struct net_device *ndev,
struct rtnl_link_stats64 *stats)
{ … }
static void ax88796c_set_mac(struct ax88796c_device *ax_local)
{ … }
static void ax88796c_handle_link_change(struct net_device *ndev)
{ … }
static void ax88796c_set_csums(struct ax88796c_device *ax_local)
{ … }
static int
ax88796c_open(struct net_device *ndev)
{ … }
static int
ax88796c_close(struct net_device *ndev)
{ … }
static int
ax88796c_set_features(struct net_device *ndev, netdev_features_t features)
{ … }
static const struct net_device_ops ax88796c_netdev_ops = …;
static int ax88796c_hard_reset(struct ax88796c_device *ax_local)
{ … }
static int ax88796c_probe(struct spi_device *spi)
{ … }
static void ax88796c_remove(struct spi_device *spi)
{ … }
#ifdef CONFIG_OF
static const struct of_device_id ax88796c_dt_ids[] = …;
MODULE_DEVICE_TABLE(of, ax88796c_dt_ids);
#endif
static const struct spi_device_id asix_id[] = …;
MODULE_DEVICE_TABLE(spi, asix_id);
static struct spi_driver ax88796c_spi_driver = …;
static __init int ax88796c_spi_init(void)
{ … }
static __exit void ax88796c_spi_exit(void)
{ … }
module_init(…) …;
module_exit(ax88796c_spi_exit);
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;