From mboxrd@z Thu Jan 1 00:00:00 1970 From: Igor Russkikh Subject: [PATCH net-next 01/19] net: usb: aqc111: Driver skeleton for Aquantia AQtion USB to 5GbE Date: Fri, 5 Oct 2018 10:24:39 +0000 Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Cc: "linux-usb@vger.kernel.org" , "netdev@vger.kernel.org" , Igor Russkikh , Dmitry Bezrukov To: "David S . Miller" Return-path: Received: from mail-bn3nam01on0079.outbound.protection.outlook.com ([104.47.33.79]:58664 "EHLO NAM01-BN3-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1727879AbeJERWw (ORCPT ); Fri, 5 Oct 2018 13:22:52 -0400 In-Reply-To: Content-Language: en-US Sender: netdev-owner@vger.kernel.org List-ID: From: Dmitry Bezrukov Initialize usb_driver structure skeleton Signed-off-by: Dmitry Bezrukov Signed-off-by: Igor Russkikh --- drivers/net/usb/Kconfig | 12 +++++++++++ drivers/net/usb/Makefile | 1 + drivers/net/usb/aqc111.c | 52 ++++++++++++++++++++++++++++++++++++++++++++= ++++ 3 files changed, 65 insertions(+) create mode 100644 drivers/net/usb/aqc111.c diff --git a/drivers/net/usb/Kconfig b/drivers/net/usb/Kconfig index 418b0904cecb..e5fb8ef2d815 100644 --- a/drivers/net/usb/Kconfig +++ b/drivers/net/usb/Kconfig @@ -613,4 +613,16 @@ config USB_NET_CH9200 To compile this driver as a module, choose M here: the module will be called ch9200. =20 +config USB_NET_AQC111 + tristate "Aquantia AQtion USB to 5/2.5GbE Controllers support" + depends on USB_USBNET + select CRC32 + default y + help + This option adds support for Aquantia AQtion USB + Ethernet adapters based on AQC111U/AQC112 chips. + + This driver should work with at least the following devices: + * Aquantia AQtion USB to 5GbE + endif # USB_NET_DRIVERS diff --git a/drivers/net/usb/Makefile b/drivers/net/usb/Makefile index 27307a4ab003..99fd12be2111 100644 --- a/drivers/net/usb/Makefile +++ b/drivers/net/usb/Makefile @@ -40,3 +40,4 @@ obj-$(CONFIG_USB_VL600) +=3D lg-vl600.o obj-$(CONFIG_USB_NET_QMI_WWAN) +=3D qmi_wwan.o obj-$(CONFIG_USB_NET_CDC_MBIM) +=3D cdc_mbim.o obj-$(CONFIG_USB_NET_CH9200) +=3D ch9200.o +obj-$(CONFIG_USB_NET_AQC111) +=3D aqc111.o diff --git a/drivers/net/usb/aqc111.c b/drivers/net/usb/aqc111.c new file mode 100644 index 000000000000..250e8ff65110 --- /dev/null +++ b/drivers/net/usb/aqc111.c @@ -0,0 +1,52 @@ +// SPDX-License-Identifier: GPL-2.0-or-later +/* Aquantia Corp. Aquantia AQtion USB to 5GbE Controller + * Copyright (C) 2003-2005 David Hollis + * Copyright (C) 2005 Phil Chang + * Copyright (C) 2002-2003 TiVo Inc. + * Copyright (C) 2017-2018 ASIX + * Copyright (C) 2018 Aquantia Corp. + */ + +#include +#include +#include +#include +#include +#include + +static const struct driver_info aqc111_info =3D { + .description =3D "Aquantia AQtion USB to 5GbE Controller", +}; + +#define AQC111_USB_ETH_DEV(vid, pid, table) \ + .match_flags =3D USB_DEVICE_ID_MATCH_DEVICE | \ + USB_DEVICE_ID_MATCH_INT_CLASS, \ + USB_DEVICE(vid, pid), \ + .bInterfaceClass =3D USB_CLASS_VENDOR_SPEC, \ + .driver_info =3D (unsigned long)&table, \ +}, \ +{ \ + .match_flags =3D USB_DEVICE_ID_MATCH_DEVICE | \ + USB_DEVICE_ID_MATCH_INT_INFO, \ + USB_DEVICE(vid, pid), \ + .bInterfaceClass =3D USB_CLASS_COMM, \ + .bInterfaceSubClass =3D USB_CDC_SUBCLASS_ETHERNET, \ + .bInterfaceProtocol =3D USB_CDC_PROTO_NONE + +static const struct usb_device_id products[] =3D { + {AQC111_USB_ETH_DEV(0x2eca, 0xc101, aqc111_info)}, + { },/* END */ +}; +MODULE_DEVICE_TABLE(usb, products); + +static struct usb_driver aq_driver =3D { + .name =3D "aqc111", + .id_table =3D products, + .probe =3D usbnet_probe, + .disconnect =3D usbnet_disconnect, +}; + +module_usb_driver(aq_driver); + +MODULE_DESCRIPTION("Aquantia AQtion USB to 5/2.5GbE Controllers"); +MODULE_LICENSE("GPL"); --=20 2.7.4 From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Subject: [net-next,01/19] net: usb: aqc111: Driver skeleton for Aquantia AQtion USB to 5GbE From: Igor Russkikh Message-Id: Date: Fri, 5 Oct 2018 10:24:39 +0000 To: "David S . Miller" Cc: "linux-usb@vger.kernel.org" , "netdev@vger.kernel.org" , Igor Russkikh , Dmitry Bezrukov List-ID: RnJvbTogRG1pdHJ5IEJlenJ1a292IDxkbWl0cnkuYmV6cnVrb3ZAYXF1YW50aWEuY29tPgoKSW5p dGlhbGl6ZSB1c2JfZHJpdmVyIHN0cnVjdHVyZSBza2VsZXRvbgoKU2lnbmVkLW9mZi1ieTogRG1p dHJ5IEJlenJ1a292IDxkbWl0cnkuYmV6cnVrb3ZAYXF1YW50aWEuY29tPgpTaWduZWQtb2ZmLWJ5 OiBJZ29yIFJ1c3NraWtoIDxpZ29yLnJ1c3NraWtoQGFxdWFudGlhLmNvbT4KLS0tCiBkcml2ZXJz L25ldC91c2IvS2NvbmZpZyAgfCAxMiArKysrKysrKysrKwogZHJpdmVycy9uZXQvdXNiL01ha2Vm aWxlIHwgIDEgKwogZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jIHwgNTIgKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiAzIGZpbGVzIGNoYW5nZWQsIDY1IGlu c2VydGlvbnMoKykKIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL25ldC91c2IvYXFjMTExLmMK CmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC91c2IvS2NvbmZpZyBiL2RyaXZlcnMvbmV0L3VzYi9L Y29uZmlnCmluZGV4IDQxOGIwOTA0Y2VjYi4uZTVmYjhlZjJkODE1IDEwMDY0NAotLS0gYS9kcml2 ZXJzL25ldC91c2IvS2NvbmZpZworKysgYi9kcml2ZXJzL25ldC91c2IvS2NvbmZpZwpAQCAtNjEz LDQgKzYxMywxNiBAQCBjb25maWcgVVNCX05FVF9DSDkyMDAKIAkgIFRvIGNvbXBpbGUgdGhpcyBk cml2ZXIgYXMgYSBtb2R1bGUsIGNob29zZSBNIGhlcmU6IHRoZQogCSAgbW9kdWxlIHdpbGwgYmUg Y2FsbGVkIGNoOTIwMC4KIAorY29uZmlnIFVTQl9ORVRfQVFDMTExCisJdHJpc3RhdGUgIkFxdWFu dGlhIEFRdGlvbiBVU0IgdG8gNS8yLjVHYkUgQ29udHJvbGxlcnMgc3VwcG9ydCIKKwlkZXBlbmRz IG9uIFVTQl9VU0JORVQKKwlzZWxlY3QgQ1JDMzIKKwlkZWZhdWx0IHkKKwloZWxwCisJICBUaGlz IG9wdGlvbiBhZGRzIHN1cHBvcnQgZm9yIEFxdWFudGlhIEFRdGlvbiBVU0IKKwkgIEV0aGVybmV0 IGFkYXB0ZXJzIGJhc2VkIG9uIEFRQzExMVUvQVFDMTEyIGNoaXBzLgorCisJICBUaGlzIGRyaXZl ciBzaG91bGQgd29yayB3aXRoIGF0IGxlYXN0IHRoZSBmb2xsb3dpbmcgZGV2aWNlczoKKwkgICog QXF1YW50aWEgQVF0aW9uIFVTQiB0byA1R2JFCisKIGVuZGlmICMgVVNCX05FVF9EUklWRVJTCmRp ZmYgLS1naXQgYS9kcml2ZXJzL25ldC91c2IvTWFrZWZpbGUgYi9kcml2ZXJzL25ldC91c2IvTWFr ZWZpbGUKaW5kZXggMjczMDdhNGFiMDAzLi45OWZkMTJiZTIxMTEgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvbmV0L3VzYi9NYWtlZmlsZQorKysgYi9kcml2ZXJzL25ldC91c2IvTWFrZWZpbGUKQEAgLTQw LDMgKzQwLDQgQEAgb2JqLSQoQ09ORklHX1VTQl9WTDYwMCkJCSs9IGxnLXZsNjAwLm8KIG9iai0k KENPTkZJR19VU0JfTkVUX1FNSV9XV0FOKQkrPSBxbWlfd3dhbi5vCiBvYmotJChDT05GSUdfVVNC X05FVF9DRENfTUJJTSkJKz0gY2RjX21iaW0ubwogb2JqLSQoQ09ORklHX1VTQl9ORVRfQ0g5MjAw KQkrPSBjaDkyMDAubworb2JqLSQoQ09ORklHX1VTQl9ORVRfQVFDMTExKQkrPSBhcWMxMTEubwpk aWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jIGIvZHJpdmVycy9uZXQvdXNiL2Fx YzExMS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uMjUwZThmZjY1 MTEwCi0tLSAvZGV2L251bGwKKysrIGIvZHJpdmVycy9uZXQvdXNiL2FxYzExMS5jCkBAIC0wLDAg KzEsNTIgQEAKKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9yLWxhdGVyCisv KiBBcXVhbnRpYSBDb3JwLiBBcXVhbnRpYSBBUXRpb24gVVNCIHRvIDVHYkUgQ29udHJvbGxlcgor ICogQ29weXJpZ2h0IChDKSAyMDAzLTIwMDUgRGF2aWQgSG9sbGlzIDxkaG9sbGlzQGRhdmVob2xs aXMuY29tPgorICogQ29weXJpZ2h0IChDKSAyMDA1IFBoaWwgQ2hhbmcgPHBjaGFuZzIzQHNiY2ds b2JhbC5uZXQ+CisgKiBDb3B5cmlnaHQgKEMpIDIwMDItMjAwMyBUaVZvIEluYy4KKyAqIENvcHly aWdodCAoQykgMjAxNy0yMDE4IEFTSVgKKyAqIENvcHlyaWdodCAoQykgMjAxOCBBcXVhbnRpYSBD b3JwLgorICovCisKKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxsaW51eC9u ZXRkZXZpY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9taWkuaD4KKyNpbmNsdWRlIDxsaW51eC91c2Iu aD4KKyNpbmNsdWRlIDxsaW51eC91c2IvY2RjLmg+CisjaW5jbHVkZSA8bGludXgvdXNiL3VzYm5l dC5oPgorCitzdGF0aWMgY29uc3Qgc3RydWN0IGRyaXZlcl9pbmZvIGFxYzExMV9pbmZvID0gewor CS5kZXNjcmlwdGlvbgk9ICJBcXVhbnRpYSBBUXRpb24gVVNCIHRvIDVHYkUgQ29udHJvbGxlciIs Cit9OworCisjZGVmaW5lIEFRQzExMV9VU0JfRVRIX0RFVih2aWQsIHBpZCwgdGFibGUpIFwKKwku bWF0Y2hfZmxhZ3MgPSBVU0JfREVWSUNFX0lEX01BVENIX0RFVklDRSB8IFwKKwkJCVVTQl9ERVZJ Q0VfSURfTUFUQ0hfSU5UX0NMQVNTLCBcCisJVVNCX0RFVklDRSh2aWQsIHBpZCksIFwKKwkuYklu dGVyZmFjZUNsYXNzID0gVVNCX0NMQVNTX1ZFTkRPUl9TUEVDLCBcCisJLmRyaXZlcl9pbmZvID0g KHVuc2lnbmVkIGxvbmcpJnRhYmxlLCBcCit9LCBcCit7IFwKKwkubWF0Y2hfZmxhZ3MgPSBVU0Jf REVWSUNFX0lEX01BVENIX0RFVklDRSB8IFwKKwkJCVVTQl9ERVZJQ0VfSURfTUFUQ0hfSU5UX0lO Rk8sIFwKKwlVU0JfREVWSUNFKHZpZCwgcGlkKSwgXAorCS5iSW50ZXJmYWNlQ2xhc3MgPSBVU0Jf Q0xBU1NfQ09NTSwgXAorCS5iSW50ZXJmYWNlU3ViQ2xhc3MgPSBVU0JfQ0RDX1NVQkNMQVNTX0VU SEVSTkVULCBcCisJLmJJbnRlcmZhY2VQcm90b2NvbCA9IFVTQl9DRENfUFJPVE9fTk9ORQorCitz dGF0aWMgY29uc3Qgc3RydWN0IHVzYl9kZXZpY2VfaWQgcHJvZHVjdHNbXSA9IHsKKwl7QVFDMTEx X1VTQl9FVEhfREVWKDB4MmVjYSwgMHhjMTAxLCBhcWMxMTFfaW5mbyl9LAorCXsgfSwvKiBFTkQg Ki8KK307CitNT0RVTEVfREVWSUNFX1RBQkxFKHVzYiwgcHJvZHVjdHMpOworCitzdGF0aWMgc3Ry dWN0IHVzYl9kcml2ZXIgYXFfZHJpdmVyID0geworCS5uYW1lCQk9ICJhcWMxMTEiLAorCS5pZF90 YWJsZQk9IHByb2R1Y3RzLAorCS5wcm9iZQkJPSB1c2JuZXRfcHJvYmUsCisJLmRpc2Nvbm5lY3QJ PSB1c2JuZXRfZGlzY29ubmVjdCwKK307CisKK21vZHVsZV91c2JfZHJpdmVyKGFxX2RyaXZlcik7 CisKK01PRFVMRV9ERVNDUklQVElPTigiQXF1YW50aWEgQVF0aW9uIFVTQiB0byA1LzIuNUdiRSBD b250cm9sbGVycyIpOworTU9EVUxFX0xJQ0VOU0UoIkdQTCIpOwo=