#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/of_mdio.h>
#include <linux/phy.h>
#include <linux/usb.h>
#define USB_MARVELL_VID …
static const struct usb_device_id mvusb_mdio_table[] = …;
MODULE_DEVICE_TABLE(usb, mvusb_mdio_table);
enum { … };
struct mvusb_mdio { … };
static int mvusb_mdio_read(struct mii_bus *mdio, int dev, int reg)
{ … }
static int mvusb_mdio_write(struct mii_bus *mdio, int dev, int reg, u16 val)
{ … }
static int mvusb_mdio_probe(struct usb_interface *interface,
const struct usb_device_id *id)
{ … }
static void mvusb_mdio_disconnect(struct usb_interface *interface)
{ … }
static struct usb_driver mvusb_mdio_driver = …;
module_usb_driver(…) …;
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;