#include <linux/module.h>
#include <linux/sched.h>
#include <linux/stddef.h>
#include <linux/netdevice.h>
#include <linux/etherdevice.h>
#include <linux/ethtool.h>
#include <linux/mii.h>
#include <linux/usb.h>
#include <linux/crc32.h>
#include <linux/usb/usbnet.h>
#include "sr9700.h"
static int sr_read(struct usbnet *dev, u8 reg, u16 length, void *data)
{ … }
static int sr_write(struct usbnet *dev, u8 reg, u16 length, void *data)
{ … }
static int sr_read_reg(struct usbnet *dev, u8 reg, u8 *value)
{ … }
static int sr_write_reg(struct usbnet *dev, u8 reg, u8 value)
{ … }
static void sr_write_async(struct usbnet *dev, u8 reg, u16 length,
const void *data)
{ … }
static void sr_write_reg_async(struct usbnet *dev, u8 reg, u8 value)
{ … }
static int wait_phy_eeprom_ready(struct usbnet *dev, int phy)
{ … }
static int sr_share_read_word(struct usbnet *dev, int phy, u8 reg,
__le16 *value)
{ … }
static int sr_share_write_word(struct usbnet *dev, int phy, u8 reg,
__le16 value)
{ … }
static int sr_read_eeprom_word(struct usbnet *dev, u8 offset, void *value)
{ … }
static int sr9700_get_eeprom_len(struct net_device *netdev)
{ … }
static int sr9700_get_eeprom(struct net_device *netdev,
struct ethtool_eeprom *eeprom, u8 *data)
{ … }
static int sr_mdio_read(struct net_device *netdev, int phy_id, int loc)
{ … }
static void sr_mdio_write(struct net_device *netdev, int phy_id, int loc,
int val)
{ … }
static u32 sr9700_get_link(struct net_device *netdev)
{ … }
static int sr9700_ioctl(struct net_device *netdev, struct ifreq *rq, int cmd)
{ … }
static const struct ethtool_ops sr9700_ethtool_ops = …;
static void sr9700_set_multicast(struct net_device *netdev)
{ … }
static int sr9700_set_mac_address(struct net_device *netdev, void *p)
{ … }
static const struct net_device_ops sr9700_netdev_ops = …;
static int sr9700_bind(struct usbnet *dev, struct usb_interface *intf)
{ … }
static int sr9700_rx_fixup(struct usbnet *dev, struct sk_buff *skb)
{ … }
static struct sk_buff *sr9700_tx_fixup(struct usbnet *dev, struct sk_buff *skb,
gfp_t flags)
{ … }
static void sr9700_status(struct usbnet *dev, struct urb *urb)
{ … }
static int sr9700_link_reset(struct usbnet *dev)
{ … }
static const struct driver_info sr9700_driver_info = …;
static const struct usb_device_id products[] = …;
MODULE_DEVICE_TABLE(usb, products);
static struct usb_driver sr9700_usb_driver = …;
module_usb_driver(…) …;
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;