Module Name:    src
Committed By:   mrg
Date:           Wed Aug 14 03:44:58 UTC 2019

Modified Files:
        src/sys/dev/usb: if_axe.c if_axen.c if_cdce.c if_smsc.c if_udav.c
            if_ure.c if_urndis.c usbnet.c usbnet.h
        src/sys/sys: param.h

Log Message:
introduce usbnet_set_dying().  will be used by url(4) conversion.
bump version.

introduce USBNET_MODULE() that encompasses almost all the module
specific code for usbnet modules.  they still need to include
the relevant ioconf.c, but everything else is now just, eg,

        USBNET_MODULE(axen)


To generate a diff of this commit:
cvs rdiff -u -r1.113 -r1.114 src/sys/dev/usb/if_axe.c
cvs rdiff -u -r1.62 -r1.63 src/sys/dev/usb/if_axen.c
cvs rdiff -u -r1.64 -r1.65 src/sys/dev/usb/if_cdce.c
cvs rdiff -u -r1.56 -r1.57 src/sys/dev/usb/if_smsc.c
cvs rdiff -u -r1.66 -r1.67 src/sys/dev/usb/if_udav.c
cvs rdiff -u -r1.25 -r1.26 src/sys/dev/usb/if_ure.c
cvs rdiff -u -r1.29 -r1.30 src/sys/dev/usb/if_urndis.c
cvs rdiff -u -r1.13 -r1.14 src/sys/dev/usb/usbnet.c
cvs rdiff -u -r1.10 -r1.11 src/sys/dev/usb/usbnet.h
cvs rdiff -u -r1.606 -r1.607 src/sys/sys/param.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/dev/usb/if_axe.c
diff -u src/sys/dev/usb/if_axe.c:1.113 src/sys/dev/usb/if_axe.c:1.114
--- src/sys/dev/usb/if_axe.c:1.113	Sun Aug 11 23:55:43 2019
+++ src/sys/dev/usb/if_axe.c	Wed Aug 14 03:44:58 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: if_axe.c,v 1.113 2019/08/11 23:55:43 mrg Exp $	*/
+/*	$NetBSD: if_axe.c,v 1.114 2019/08/14 03:44:58 mrg Exp $	*/
 /*	$OpenBSD: if_axe.c,v 1.137 2016/04/13 11:03:37 mpi Exp $ */
 
 /*
@@ -87,7 +87,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_axe.c,v 1.113 2019/08/11 23:55:43 mrg Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_axe.c,v 1.114 2019/08/14 03:44:58 mrg Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_usb.h"
@@ -95,11 +95,6 @@ __KERNEL_RCSID(0, "$NetBSD: if_axe.c,v 1
 #endif
 
 #include <sys/param.h>
-#include <sys/kernel.h>
-#include <sys/module.h>
-#include <sys/socket.h>
-#include <sys/sockio.h>
-#include <sys/systm.h>
 
 #include <dev/usb/usbnet.h>
 #include <dev/usb/usbhist.h>
@@ -1391,31 +1386,8 @@ axe_stop(struct ifnet *ifp, int disable)
 	usbnet_unlock_mii_un_locked(un);
 }
 
-MODULE(MODULE_CLASS_DRIVER, if_axe, "usbnet");
-
 #ifdef _MODULE
 #include "ioconf.c"
 #endif
 
-static int
-if_axe_modcmd(modcmd_t cmd, void *aux)
-{
-	int error = 0;
-
-	switch (cmd) {
-	case MODULE_CMD_INIT:
-#ifdef _MODULE
-		error = config_init_component(cfdriver_ioconf_axe,
-		    cfattach_ioconf_axe, cfdata_ioconf_axe);
-#endif
-		return error;
-	case MODULE_CMD_FINI:
-#ifdef _MODULE
-		error = config_fini_component(cfdriver_ioconf_axe,
-		    cfattach_ioconf_axe, cfdata_ioconf_axe);
-#endif
-		return error;
-	default:
-		return ENOTTY;
-	}
-}
+USBNET_MODULE(axe)

Index: src/sys/dev/usb/if_axen.c
diff -u src/sys/dev/usb/if_axen.c:1.62 src/sys/dev/usb/if_axen.c:1.63
--- src/sys/dev/usb/if_axen.c:1.62	Sun Aug 11 08:57:36 2019
+++ src/sys/dev/usb/if_axen.c	Wed Aug 14 03:44:58 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: if_axen.c,v 1.62 2019/08/11 08:57:36 skrll Exp $	*/
+/*	$NetBSD: if_axen.c,v 1.63 2019/08/14 03:44:58 mrg Exp $	*/
 /*	$OpenBSD: if_axen.c,v 1.3 2013/10/21 10:10:22 yuo Exp $	*/
 
 /*
@@ -23,14 +23,13 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_axen.c,v 1.62 2019/08/11 08:57:36 skrll Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_axen.c,v 1.63 2019/08/14 03:44:58 mrg Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_usb.h"
 #endif
 
 #include <sys/param.h>
-#include <sys/module.h>
 
 #include <netinet/in.h>		/* XXX for netinet/ip.h */
 #include <netinet/ip.h>		/* XXX for IP_MAXPACKET */
@@ -969,31 +968,8 @@ axen_stop_cb(struct ifnet *ifp, int disa
 	usbnet_unlock_mii_un_locked(un);
 }
 
-MODULE(MODULE_CLASS_DRIVER, if_axen, "usbnet");
-
 #ifdef _MODULE
 #include "ioconf.c"
 #endif
 
-static int
-if_axen_modcmd(modcmd_t cmd, void *aux)
-{
-	int error = 0;
-
-	switch (cmd) {
-	case MODULE_CMD_INIT:
-#ifdef _MODULE
-		error = config_init_component(cfdriver_ioconf_axen,
-		    cfattach_ioconf_axen, cfdata_ioconf_axen);
-#endif
-		return error;
-	case MODULE_CMD_FINI:
-#ifdef _MODULE
-		error = config_fini_component(cfdriver_ioconf_axen,
-		    cfattach_ioconf_axen, cfdata_ioconf_axen);
-#endif
-		return error;
-	default:
-		return ENOTTY;
-	}
-}
+USBNET_MODULE(axen)

Index: src/sys/dev/usb/if_cdce.c
diff -u src/sys/dev/usb/if_cdce.c:1.64 src/sys/dev/usb/if_cdce.c:1.65
--- src/sys/dev/usb/if_cdce.c:1.64	Mon Aug 12 08:52:39 2019
+++ src/sys/dev/usb/if_cdce.c	Wed Aug 14 03:44:58 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: if_cdce.c,v 1.64 2019/08/12 08:52:39 skrll Exp $ */
+/*	$NetBSD: if_cdce.c,v 1.65 2019/08/14 03:44:58 mrg Exp $ */
 
 /*
  * Copyright (c) 1997, 1998, 1999, 2000-2003 Bill Paul <wp...@windriver.com>
@@ -40,10 +40,9 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_cdce.c,v 1.64 2019/08/12 08:52:39 skrll Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_cdce.c,v 1.65 2019/08/14 03:44:58 mrg Exp $");
 
 #include <sys/param.h>
-#include <sys/kernel.h>
 
 #include <dev/usb/usbnet.h>
 #include <dev/usb/usbcdc.h>
@@ -202,7 +201,7 @@ cdce_attach(device_t parent, device_t se
 		}
 		/* Find endpoints. */
 		id = usbd_get_interface_descriptor(un->un_iface);
-		un->un_ed[USBNET_ENDPT_RX] = un->un_ed[USBNET_ENDPT_TX] = -1;
+		un->un_ed[USBNET_ENDPT_RX] = un->un_ed[USBNET_ENDPT_TX] = 0;
 		for (i = 0; i < id->bNumEndpoints; i++) {
 			ed = usbd_interface2endpoint_descriptor(un->un_iface, i);
 			if (!ed) {
@@ -225,15 +224,15 @@ cdce_attach(device_t parent, device_t se
 			}
 		}
 		/* If we found something, try and use it... */
-		if (un->un_ed[USBNET_ENDPT_RX] != -1 && un->un_ed[USBNET_ENDPT_TX] != -1)
+		if (un->un_ed[USBNET_ENDPT_RX] != 0 && un->un_ed[USBNET_ENDPT_TX] != 0)
 			break;
 	}
 
-	if (un->un_ed[USBNET_ENDPT_RX] == -1) {
+	if (un->un_ed[USBNET_ENDPT_RX] == 0) {
 		aprint_error_dev(self, "could not find data bulk in\n");
 		return;
 	}
-	if (un->un_ed[USBNET_ENDPT_TX] == -1 ) {
+	if (un->un_ed[USBNET_ENDPT_TX] == 0) {
 		aprint_error_dev(self, "could not find data bulk out\n");
 		return;
 	}
@@ -305,7 +304,7 @@ cdce_tx_prepare(struct usbnet *un, struc
 	if (un->un_flags & CDCE_ZAURUS)
 		extra = sizeof(crc);
 
-	if (m->m_pkthdr.len > un->un_tx_bufsz - extra)
+	if ((unsigned)m->m_pkthdr.len > un->un_tx_bufsz - extra)
 		return 0;
 	length = m->m_pkthdr.len + extra;
 
@@ -317,3 +316,9 @@ cdce_tx_prepare(struct usbnet *un, struc
 
 	return length;
 }
+
+#ifdef _MODULE
+#include "ioconf.c"
+#endif
+
+USBNET_MODULE(cdce)

Index: src/sys/dev/usb/if_smsc.c
diff -u src/sys/dev/usb/if_smsc.c:1.56 src/sys/dev/usb/if_smsc.c:1.57
--- src/sys/dev/usb/if_smsc.c:1.56	Sun Aug 11 23:55:43 2019
+++ src/sys/dev/usb/if_smsc.c	Wed Aug 14 03:44:58 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: if_smsc.c,v 1.56 2019/08/11 23:55:43 mrg Exp $	*/
+/*	$NetBSD: if_smsc.c,v 1.57 2019/08/14 03:44:58 mrg Exp $	*/
 
 /*	$OpenBSD: if_smsc.c,v 1.4 2012/09/27 12:38:11 jsg Exp $	*/
 /*	$FreeBSD: src/sys/dev/usb/net/if_smsc.c,v 1.1 2012/08/15 04:03:55 gonzo Exp $ */
@@ -61,14 +61,13 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_smsc.c,v 1.56 2019/08/11 23:55:43 mrg Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_smsc.c,v 1.57 2019/08/14 03:44:58 mrg Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_usb.h"
 #endif
 
 #include <sys/param.h>
-#include <sys/module.h>
 
 #include <dev/usb/usbnet.h>
 #include <dev/usb/usbhist.h>
@@ -1107,31 +1106,8 @@ smsc_tx_prepare(struct usbnet *un, struc
 	return frm_len;
 }
 
-MODULE(MODULE_CLASS_DRIVER, if_smsc, "usbnet");
-
 #ifdef _MODULE
 #include "ioconf.c"
 #endif
 
-static int
-if_smsc_modcmd(modcmd_t cmd, void *aux)
-{
-	int error = 0;
-
-	switch (cmd) {
-	case MODULE_CMD_INIT:
-#ifdef _MODULE
-		error = config_init_component(cfdriver_ioconf_smsc,
-		    cfattach_ioconf_smsc, cfdata_ioconf_smsc);
-#endif
-		return error;
-	case MODULE_CMD_FINI:
-#ifdef _MODULE
-		error = config_fini_component(cfdriver_ioconf_smsc,
-		    cfattach_ioconf_smsc, cfdata_ioconf_smsc);
-#endif
-		return error;
-	default:
-		return ENOTTY;
-	}
-}
+USBNET_MODULE(smsc)

Index: src/sys/dev/usb/if_udav.c
diff -u src/sys/dev/usb/if_udav.c:1.66 src/sys/dev/usb/if_udav.c:1.67
--- src/sys/dev/usb/if_udav.c:1.66	Sun Aug 11 08:56:53 2019
+++ src/sys/dev/usb/if_udav.c	Wed Aug 14 03:44:58 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: if_udav.c,v 1.66 2019/08/11 08:56:53 skrll Exp $	*/
+/*	$NetBSD: if_udav.c,v 1.67 2019/08/14 03:44:58 mrg Exp $	*/
 /*	$nabe: if_udav.c,v 1.3 2003/08/21 16:57:19 nabe Exp $	*/
 
 /*
@@ -45,16 +45,13 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_udav.c,v 1.66 2019/08/11 08:56:53 skrll Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_udav.c,v 1.67 2019/08/14 03:44:58 mrg Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_usb.h"
 #endif
 
 #include <sys/param.h>
-#include <sys/systm.h>
-#include <sys/module.h>
-#include <sys/kernel.h>
 
 #include <dev/usb/usbnet.h>
 #include <dev/usb/if_udavreg.h>
@@ -468,19 +465,21 @@ udav_csr_write1(struct usbnet *un, int o
 }
 
 static int
-udav_init_locked(struct ifnet *ifp)
+udav_init(struct ifnet *ifp)
 {
 	struct usbnet * const un = ifp->if_softc;
 	struct mii_data * const mii = usbnet_mii(un);
 	uint8_t eaddr[ETHER_ADDR_LEN];
-	int rc;
+	int rc = 0;
 
 	DPRINTF(("%s: %s: enter\n", device_xname(un->un_dev), __func__));
 
-	usbnet_isowned(un);
+	usbnet_lock(un);
 
-	if (usbnet_isdying(un))
+	if (usbnet_isdying(un)) {
+		usbnet_unlock(un);
 		return EIO;
+	}
 
 	/* Cancel pending I/O and free all TX/RX buffers */
 	if (ifp->if_flags & IFF_RUNNING)
@@ -515,29 +514,22 @@ udav_init_locked(struct ifnet *ifp)
 	UDAV_CLRBIT(un, UDAV_GPR, UDAV_GPR_GEPIO0);
 
 	usbnet_unlock_mii_un_locked(un);
+	usbnet_unlock(un);
 
-	rc = 0;
-	if (mii) {
-		if ((rc = mii_mediachg(mii)) == ENXIO)
-			rc = 0;
-	}
+	if (mii && (rc = mii_mediachg(mii)) == ENXIO)
+		rc = 0;
 
 	if (rc != 0)
 		return rc;
 
-	return usbnet_init_rx_tx(un);
-}
-
-static int
-udav_init(struct ifnet *ifp)
-{
-	struct usbnet * const un = ifp->if_softc;
-
 	usbnet_lock(un);
-	int ret = udav_init_locked(ifp);
+	if (usbnet_isdying(un))
+		rc = EIO;
+	else
+		rc = usbnet_init_rx_tx(un);
 	usbnet_unlock(un);
 
-	return ret;
+	return rc;
 }
 
 static void
@@ -880,31 +872,8 @@ udav_mii_statchg(struct ifnet *ifp)
 	}
 }
 
-MODULE(MODULE_CLASS_DRIVER, if_udav, "usbnet");
-
 #ifdef _MODULE
 #include "ioconf.c"
 #endif
 
-static int
-if_udav_modcmd(modcmd_t cmd, void *aux)
-{
-	int error = 0;
-
-	switch (cmd) {
-	case MODULE_CMD_INIT:
-#ifdef _MODULE
-		error = config_init_component(cfdriver_ioconf_udav,
-		    cfattach_ioconf_udav, cfdata_ioconf_udav);
-#endif
-		return error;
-	case MODULE_CMD_FINI:
-#ifdef _MODULE
-		error = config_fini_component(cfdriver_ioconf_udav,
-		    cfattach_ioconf_udav, cfdata_ioconf_udav);
-#endif
-		return error;
-	default:
-		return ENOTTY;
-	}
-}
+USBNET_MODULE(udav)

Index: src/sys/dev/usb/if_ure.c
diff -u src/sys/dev/usb/if_ure.c:1.25 src/sys/dev/usb/if_ure.c:1.26
--- src/sys/dev/usb/if_ure.c:1.25	Sun Aug 11 23:55:43 2019
+++ src/sys/dev/usb/if_ure.c	Wed Aug 14 03:44:58 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: if_ure.c,v 1.25 2019/08/11 23:55:43 mrg Exp $	*/
+/*	$NetBSD: if_ure.c,v 1.26 2019/08/14 03:44:58 mrg Exp $	*/
 /*	$OpenBSD: if_ure.c,v 1.10 2018/11/02 21:32:30 jcs Exp $	*/
 
 /*-
@@ -30,7 +30,7 @@
 /* RealTek RTL8152/RTL8153 10/100/Gigabit USB Ethernet device */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_ure.c,v 1.25 2019/08/11 23:55:43 mrg Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_ure.c,v 1.26 2019/08/14 03:44:58 mrg Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_usb.h"
@@ -38,8 +38,6 @@ __KERNEL_RCSID(0, "$NetBSD: if_ure.c,v 1
 #endif
 
 #include <sys/param.h>
-#include <sys/systm.h>
-#include <sys/kernel.h>
 
 #include <net/route.h>
 
@@ -1152,4 +1150,8 @@ ure_txcsum(struct mbuf *m)
 	return reg;
 }
 
-/* XXX module is built but no MODULE() or modcmd */
+#ifdef _MODULE
+#include "ioconf.c"
+#endif
+
+USBNET_MODULE(ure)

Index: src/sys/dev/usb/if_urndis.c
diff -u src/sys/dev/usb/if_urndis.c:1.29 src/sys/dev/usb/if_urndis.c:1.30
--- src/sys/dev/usb/if_urndis.c:1.29	Sun Aug 11 23:55:43 2019
+++ src/sys/dev/usb/if_urndis.c	Wed Aug 14 03:44:58 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: if_urndis.c,v 1.29 2019/08/11 23:55:43 mrg Exp $ */
+/*	$NetBSD: if_urndis.c,v 1.30 2019/08/14 03:44:58 mrg Exp $ */
 /*	$OpenBSD: if_urndis.c,v 1.31 2011/07/03 15:47:17 matthew Exp $ */
 
 /*
@@ -21,16 +21,14 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_urndis.c,v 1.29 2019/08/11 23:55:43 mrg Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_urndis.c,v 1.30 2019/08/14 03:44:58 mrg Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_usb.h"
 #endif
 
 #include <sys/param.h>
-#include <sys/systm.h>
 #include <sys/kmem.h>
-#include <sys/kernel.h>
 
 #include <dev/usb/usbnet.h>
 #include <dev/usb/usbdevs.h>
@@ -722,7 +720,7 @@ urndis_tx_prepare(struct usbnet *un, str
 
 	usbnet_isowned_tx(un);
 
-	if (m->m_pkthdr.len > un->un_tx_bufsz - sizeof(*msg))
+	if ((unsigned)m->m_pkthdr.len > un->un_tx_bufsz - sizeof(*msg))
 		return 0;
 
 	msg = (struct rndis_packet_msg *)c->unc_buf;
@@ -1100,3 +1098,9 @@ urndis_attach(device_t parent, device_t 
 	usbnet_attach_ifp(un, false, IFF_SIMPLEX | IFF_BROADCAST | IFF_MULTICAST,
             0, 0);
 }
+
+#ifdef _MODULE
+#include "ioconf.c"
+#endif
+
+USBNET_MODULE(urndis)

Index: src/sys/dev/usb/usbnet.c
diff -u src/sys/dev/usb/usbnet.c:1.13 src/sys/dev/usb/usbnet.c:1.14
--- src/sys/dev/usb/usbnet.c:1.13	Sun Aug 11 23:55:43 2019
+++ src/sys/dev/usb/usbnet.c	Wed Aug 14 03:44:58 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: usbnet.c,v 1.13 2019/08/11 23:55:43 mrg Exp $	*/
+/*	$NetBSD: usbnet.c,v 1.14 2019/08/14 03:44:58 mrg Exp $	*/
 
 /*
  * Copyright (c) 2019 Matthew R. Green
@@ -33,7 +33,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: usbnet.c,v 1.13 2019/08/11 23:55:43 mrg Exp $");
+__KERNEL_RCSID(0, "$NetBSD: usbnet.c,v 1.14 2019/08/14 03:44:58 mrg Exp $");
 
 #include <sys/param.h>
 #include <sys/kernel.h>
@@ -1137,6 +1137,12 @@ usbnet_set_link(struct usbnet *un, bool 
 	un->un_pri->unp_link = link;
 }
 
+void
+usbnet_set_dying(struct usbnet *un, bool link)
+{
+	un->un_pri->unp_dying = link;
+}
+
 struct ifnet *
 usbnet_ifp(struct usbnet *un)
 {

Index: src/sys/dev/usb/usbnet.h
diff -u src/sys/dev/usb/usbnet.h:1.10 src/sys/dev/usb/usbnet.h:1.11
--- src/sys/dev/usb/usbnet.h:1.10	Sun Aug 11 01:29:45 2019
+++ src/sys/dev/usb/usbnet.h	Wed Aug 14 03:44:58 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: usbnet.h,v 1.10 2019/08/11 01:29:45 mrg Exp $	*/
+/*	$NetBSD: usbnet.h,v 1.11 2019/08/14 03:44:58 mrg Exp $	*/
 
 /*
  * Copyright (c) 2019 Matthew R. Green
@@ -82,6 +82,7 @@
 #include <sys/mbuf.h>
 #include <sys/rndsource.h>
 #include <sys/mutex.h>
+#include <sys/module.h>
 
 #include <net/bpf.h>
 #include <net/if.h>
@@ -232,6 +233,7 @@ struct usbnet {
 /* Various accessors. */
 
 void usbnet_set_link(struct usbnet *, bool);
+void usbnet_set_dying(struct usbnet *, bool);
 
 struct ifnet *usbnet_ifp(struct usbnet *);
 struct ethercom *usbnet_ec(struct usbnet *);
@@ -320,4 +322,39 @@ int	usbnet_activate(device_t, devact_t);
 /* stop backend */
 void	usbnet_stop(struct usbnet *, struct ifnet *, int);
 
+/* module hook up */
+
+#ifdef _MODULE
+#define USENET_INIT(name)						\
+	error = config_init_component(cfdriver_ioconf_##name,		\
+	    cfattach_ioconf_##name, cfdata_ioconf_##name);
+#define USENET_FINI(name)						\
+	error = config_fini_component(cfdriver_ioconf_##name,		\
+	    cfattach_ioconf_##name, cfdata_ioconf_##name);
+#else
+#define USENET_INIT(name)
+#define USENET_FINI(name)
+#endif
+
+#define USBNET_MODULE(name)						\
+									\
+MODULE(MODULE_CLASS_DRIVER, if_##name, "usbnet");			\
+									\
+static int								\
+if_##name##_modcmd(modcmd_t cmd, void *aux)				\
+{									\
+	int error = 0;							\
+									\
+	switch (cmd) {							\
+	case MODULE_CMD_INIT:						\
+		USENET_INIT(name)					\
+		return error;						\
+	case MODULE_CMD_FINI:						\
+		USENET_FINI(name)					\
+		return error;						\
+	default:							\
+		return ENOTTY;						\
+	}								\
+}
+
 #endif /* _DEV_USB_USBNET_H */

Index: src/sys/sys/param.h
diff -u src/sys/sys/param.h:1.606 src/sys/sys/param.h:1.607
--- src/sys/sys/param.h:1.606	Sat Aug 10 21:13:54 2019
+++ src/sys/sys/param.h	Wed Aug 14 03:44:58 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: param.h,v 1.606 2019/08/10 21:13:54 rmind Exp $	*/
+/*	$NetBSD: param.h,v 1.607 2019/08/14 03:44:58 mrg Exp $	*/
 
 /*-
  * Copyright (c) 1982, 1986, 1989, 1993
@@ -67,7 +67,7 @@
  *	2.99.9		(299000900)
  */
 
-#define	__NetBSD_Version__	999000700	/* NetBSD 9.99.7 */
+#define	__NetBSD_Version__	999000800	/* NetBSD 9.99.8 */
 
 #define __NetBSD_Prereq__(M,m,p) (((((M) * 100000000) + \
     (m) * 1000000) + (p) * 100) <= __NetBSD_Version__)

Reply via email to