1*17364b80SDmitry Bezrukov // SPDX-License-Identifier: GPL-2.0-or-later 2*17364b80SDmitry Bezrukov /* Aquantia Corp. Aquantia AQtion USB to 5GbE Controller 3*17364b80SDmitry Bezrukov * Copyright (C) 2003-2005 David Hollis <dhollis@davehollis.com> 4*17364b80SDmitry Bezrukov * Copyright (C) 2005 Phil Chang <pchang23@sbcglobal.net> 5*17364b80SDmitry Bezrukov * Copyright (C) 2002-2003 TiVo Inc. 6*17364b80SDmitry Bezrukov * Copyright (C) 2017-2018 ASIX 7*17364b80SDmitry Bezrukov * Copyright (C) 2018 Aquantia Corp. 8*17364b80SDmitry Bezrukov */ 9*17364b80SDmitry Bezrukov 10*17364b80SDmitry Bezrukov #include <linux/module.h> 11*17364b80SDmitry Bezrukov #include <linux/netdevice.h> 12*17364b80SDmitry Bezrukov #include <linux/mii.h> 13*17364b80SDmitry Bezrukov #include <linux/usb.h> 14*17364b80SDmitry Bezrukov #include <linux/usb/cdc.h> 15*17364b80SDmitry Bezrukov #include <linux/usb/usbnet.h> 16*17364b80SDmitry Bezrukov 17*17364b80SDmitry Bezrukov static const struct driver_info aqc111_info = { 18*17364b80SDmitry Bezrukov .description = "Aquantia AQtion USB to 5GbE Controller", 19*17364b80SDmitry Bezrukov }; 20*17364b80SDmitry Bezrukov 21*17364b80SDmitry Bezrukov #define AQC111_USB_ETH_DEV(vid, pid, table) \ 22*17364b80SDmitry Bezrukov USB_DEVICE_INTERFACE_CLASS((vid), (pid), USB_CLASS_VENDOR_SPEC), \ 23*17364b80SDmitry Bezrukov .driver_info = (unsigned long)&(table) \ 24*17364b80SDmitry Bezrukov }, \ 25*17364b80SDmitry Bezrukov { \ 26*17364b80SDmitry Bezrukov USB_DEVICE_AND_INTERFACE_INFO((vid), (pid), \ 27*17364b80SDmitry Bezrukov USB_CLASS_COMM, \ 28*17364b80SDmitry Bezrukov USB_CDC_SUBCLASS_ETHERNET, \ 29*17364b80SDmitry Bezrukov USB_CDC_PROTO_NONE), \ 30*17364b80SDmitry Bezrukov .driver_info = (unsigned long)&(table), 31*17364b80SDmitry Bezrukov 32*17364b80SDmitry Bezrukov static const struct usb_device_id products[] = { 33*17364b80SDmitry Bezrukov {AQC111_USB_ETH_DEV(0x2eca, 0xc101, aqc111_info)}, 34*17364b80SDmitry Bezrukov { },/* END */ 35*17364b80SDmitry Bezrukov }; 36*17364b80SDmitry Bezrukov MODULE_DEVICE_TABLE(usb, products); 37*17364b80SDmitry Bezrukov 38*17364b80SDmitry Bezrukov static struct usb_driver aq_driver = { 39*17364b80SDmitry Bezrukov .name = "aqc111", 40*17364b80SDmitry Bezrukov .id_table = products, 41*17364b80SDmitry Bezrukov .probe = usbnet_probe, 42*17364b80SDmitry Bezrukov .disconnect = usbnet_disconnect, 43*17364b80SDmitry Bezrukov }; 44*17364b80SDmitry Bezrukov 45*17364b80SDmitry Bezrukov module_usb_driver(aq_driver); 46*17364b80SDmitry Bezrukov 47*17364b80SDmitry Bezrukov MODULE_DESCRIPTION("Aquantia AQtion USB to 5/2.5GbE Controllers"); 48*17364b80SDmitry Bezrukov MODULE_LICENSE("GPL"); 49