linux/drivers/net/usb/asix_devices.c

// SPDX-License-Identifier: GPL-2.0-or-later
/*
 * ASIX AX8817X based USB 2.0 Ethernet Devices
 * Copyright (C) 2003-2006 David Hollis <[email protected]>
 * Copyright (C) 2005 Phil Chang <[email protected]>
 * Copyright (C) 2006 James Painter <[email protected]>
 * Copyright (c) 2002-2003 TiVo Inc.
 */

#include "asix.h"

#define PHY_MODE_MARVELL
#define MII_MARVELL_LED_CTRL
#define MII_MARVELL_STATUS
#define MII_MARVELL_CTRL

#define MARVELL_LED_MANUAL

#define MARVELL_STATUS_HWCFG

#define MARVELL_CTRL_TXDELAY
#define MARVELL_CTRL_RXDELAY

#define PHY_MODE_RTL8211CL

#define AX88772A_PHY14H
#define AX88772A_PHY14H_DEFAULT

#define AX88772A_PHY15H
#define AX88772A_PHY15H_DEFAULT

#define AX88772A_PHY16H
#define AX88772A_PHY16H_DEFAULT

struct ax88172_int_data {} __packed;

static void asix_status(struct usbnet *dev, struct urb *urb)
{}

static void asix_set_netdev_dev_addr(struct usbnet *dev, u8 *addr)
{}

/* Get the PHY Identifier from the PHYSID1 & PHYSID2 MII registers */
static u32 asix_get_phyid(struct usbnet *dev)
{}

static u32 asix_get_link(struct net_device *net)
{}

static int asix_ioctl (struct net_device *net, struct ifreq *rq, int cmd)
{}

/* We need to override some ethtool_ops so we require our
   own structure so we don't interfere with other usbnet
   devices that may be connected at the same time. */
static const struct ethtool_ops ax88172_ethtool_ops =;

static void ax88172_set_multicast(struct net_device *net)
{}

static int ax88172_link_reset(struct usbnet *dev)
{}

static const struct net_device_ops ax88172_netdev_ops =;

static void asix_phy_reset(struct usbnet *dev, unsigned int reset_bits)
{}

static int ax88172_bind(struct usbnet *dev, struct usb_interface *intf)
{}

static void ax88772_ethtool_get_strings(struct net_device *netdev, u32 sset,
					u8 *data)
{}

static int ax88772_ethtool_get_sset_count(struct net_device *ndev, int sset)
{}

static void ax88772_ethtool_get_pauseparam(struct net_device *ndev,
					  struct ethtool_pauseparam *pause)
{}

static int ax88772_ethtool_set_pauseparam(struct net_device *ndev,
					 struct ethtool_pauseparam *pause)
{}

static const struct ethtool_ops ax88772_ethtool_ops =;

static int ax88772_reset(struct usbnet *dev)
{}

static int ax88772_hw_reset(struct usbnet *dev, int in_pm)
{}

static int ax88772a_hw_reset(struct usbnet *dev, int in_pm)
{}

static const struct net_device_ops ax88772_netdev_ops =;

static void ax88772_suspend(struct usbnet *dev)
{}

static int asix_suspend(struct usb_interface *intf, pm_message_t message)
{}

static void ax88772_resume(struct usbnet *dev)
{}

static int asix_resume(struct usb_interface *intf)
{}

static int ax88772_init_mdio(struct usbnet *dev)
{}

static void ax88772_mdio_unregister(struct asix_common_private *priv)
{}

static int ax88772_init_phy(struct usbnet *dev)
{}

static void ax88772_mac_config(struct phylink_config *config, unsigned int mode,
			      const struct phylink_link_state *state)
{}

static void ax88772_mac_link_down(struct phylink_config *config,
				 unsigned int mode, phy_interface_t interface)
{}

static void ax88772_mac_link_up(struct phylink_config *config,
			       struct phy_device *phy,
			       unsigned int mode, phy_interface_t interface,
			       int speed, int duplex,
			       bool tx_pause, bool rx_pause)
{}

static const struct phylink_mac_ops ax88772_phylink_mac_ops =;

static int ax88772_phylink_setup(struct usbnet *dev)
{}

static int ax88772_bind(struct usbnet *dev, struct usb_interface *intf)
{}

static int ax88772_stop(struct usbnet *dev)
{}

static void ax88772_unbind(struct usbnet *dev, struct usb_interface *intf)
{}

static void ax88178_unbind(struct usbnet *dev, struct usb_interface *intf)
{}

static const struct ethtool_ops ax88178_ethtool_ops =;

static int marvell_phy_init(struct usbnet *dev)
{}

static int rtl8211cl_phy_init(struct usbnet *dev)
{}

static int marvell_led_status(struct usbnet *dev, u16 speed)
{}

static int ax88178_reset(struct usbnet *dev)
{}

static int ax88178_link_reset(struct usbnet *dev)
{}

static void ax88178_set_mfb(struct usbnet *dev)
{}

static int ax88178_change_mtu(struct net_device *net, int new_mtu)
{}

static const struct net_device_ops ax88178_netdev_ops =;

static int ax88178_bind(struct usbnet *dev, struct usb_interface *intf)
{}

static const struct driver_info ax8817x_info =;

static const struct driver_info dlink_dub_e100_info =;

static const struct driver_info netgear_fa120_info =;

static const struct driver_info hawking_uf200_info =;

static const struct driver_info ax88772_info =;

static const struct driver_info ax88772b_info =;

static const struct driver_info lxausb_t1l_info =;

static const struct driver_info ax88178_info =;

/*
 * USBLINK 20F9 "USB 2.0 LAN" USB ethernet adapter, typically found in
 * no-name packaging.
 * USB device strings are:
 *   1: Manufacturer: USBLINK
 *   2: Product: HG20F9 USB2.0
 *   3: Serial: 000003
 * Appears to be compatible with Asix 88772B.
 */
static const struct driver_info hg20f9_info =;

static const struct usb_device_id	products [] =;
MODULE_DEVICE_TABLE(usb, products);

static struct usb_driver asix_driver =;

module_usb_driver();

MODULE_AUTHOR();
MODULE_VERSION();
MODULE_DESCRIPTION();
MODULE_LICENSE();