Module Name: src Committed By: mrg Date: Wed Jul 31 09:13:17 UTC 2019
Modified Files: src/distrib/sets/lists/modules: mi src/sys/dev/usb: files.usb if_axen.c if_axenreg.h if_cdce.c src/sys/modules: Makefile Added Files: src/sys/dev/usb: usbnet.c usbnet.h src/sys/modules/usbnet: Makefile Log Message: introduce a library of common code / backends to share code between USB ethernet drivers. usbnet.h introduces a new set of APIs to provide common solutions for these driver features: - USB endpoint pipe handling - rx and tx chain handling - generic handlers or support for several struct ifnet callbacks - MII bus locking - interrupt handling - partial autoconf handling: much of attach, and detach/activate can use common versions directly. currently, only axen(4) and cdce(4) are converted. the reductions in these drivers are quite significant: if_cdce.c is reduced from 1000 lines to 320 lines, and if_axen is reduced from 1902 lines to 1021 lines. add a "usbnet" module and make the if_axen module depend upon it. To generate a diff of this commit: cvs rdiff -u -r1.122 -r1.123 src/distrib/sets/lists/modules/mi cvs rdiff -u -r1.156 -r1.157 src/sys/dev/usb/files.usb cvs rdiff -u -r1.50 -r1.51 src/sys/dev/usb/if_axen.c cvs rdiff -u -r1.14 -r1.15 src/sys/dev/usb/if_axenreg.h cvs rdiff -u -r1.53 -r1.54 src/sys/dev/usb/if_cdce.c cvs rdiff -u -r0 -r1.1 src/sys/dev/usb/usbnet.c src/sys/dev/usb/usbnet.h cvs rdiff -u -r1.222 -r1.223 src/sys/modules/Makefile cvs rdiff -u -r0 -r1.1 src/sys/modules/usbnet/Makefile Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.