Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys modularize, and fix build error



details:   https://anonhg.NetBSD.org/src/rev/87f3d8d86ddc
branches:  trunk
changeset: 940684:87f3d8d86ddc
user:      ryo <ryo%NetBSD.org@localhost>
date:      Wed Oct 14 10:26:59 2020 +0000

description:
modularize, and fix build error

diffstat:

 sys/dev/pci/if_vmx.c             |  60 ++++++++++++++++++++++++++++++++--------
 sys/modules/Makefile             |   3 +-
 sys/modules/if_vmx/Makefile      |  12 ++++++++
 sys/modules/if_vmx/if_vmx.ioconf |  10 ++++++
 4 files changed, 72 insertions(+), 13 deletions(-)

diffs (202 lines):

diff -r da9e30bbe2a5 -r 87f3d8d86ddc sys/dev/pci/if_vmx.c
--- a/sys/dev/pci/if_vmx.c      Wed Oct 14 10:19:10 2020 +0000
+++ b/sys/dev/pci/if_vmx.c      Wed Oct 14 10:26:59 2020 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: if_vmx.c,v 1.1 2020/10/14 10:19:11 ryo Exp $   */
+/*     $NetBSD: if_vmx.c,v 1.2 2020/10/14 10:26:59 ryo Exp $   */
 /*     $OpenBSD: if_vmx.c,v 1.16 2014/01/22 06:04:17 brad Exp $        */
 
 /*
@@ -19,7 +19,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_vmx.c,v 1.1 2020/10/14 10:19:11 ryo Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_vmx.c,v 1.2 2020/10/14 10:26:59 ryo Exp $");
 
 #include <sys/param.h>
 #include <sys/cpu.h>
@@ -29,6 +29,7 @@
 #include <sys/bus.h>
 #include <sys/device.h>
 #include <sys/mbuf.h>
+#include <sys/module.h>
 #include <sys/sockio.h>
 #include <sys/pcq.h>
 #include <sys/workqueue.h>
@@ -536,7 +537,7 @@
 vmxnet3_txring_avail(struct vmxnet3_txring *txr)
 {
        int avail = txr->vxtxr_next - txr->vxtxr_head - 1;
-       return (avail < 0 ? txr->vxtxr_ndesc + avail : avail);
+       return (avail < 0 ? (int)txr->vxtxr_ndesc + avail : avail);
 }
 
 /*
@@ -1372,7 +1373,8 @@
        struct vmxnet3_txring *txr;
        struct vmxnet3_comp_ring *txc;
        size_t descsz, compsz;
-       int i, q, error;
+       u_int i;
+       int q, error;
 
        dev = sc->vmx_dev;
 
@@ -1424,7 +1426,8 @@
        struct vmxnet3_txring *txr;
        struct vmxnet3_comp_ring *txc;
        struct vmxnet3_txbuf *txb;
-       int i, q;
+       u_int i;
+       int q;
 
        for (q = 0; q < sc->vmx_ntxqueues; q++) {
                txq = &sc->vmx_queue[q].vxq_txqueue;
@@ -1460,7 +1463,8 @@
        struct vmxnet3_rxring *rxr;
        struct vmxnet3_comp_ring *rxc;
        int descsz, compsz;
-       int i, j, q, error;
+       u_int i, j;
+       int q, error;
 
        dev = sc->vmx_dev;
 
@@ -1536,7 +1540,8 @@
        struct vmxnet3_rxring *rxr;
        struct vmxnet3_comp_ring *rxc;
        struct vmxnet3_rxbuf *rxb;
-       int i, j, q;
+       u_int i, j;
+       int q;
 
        for (q = 0; q < sc->vmx_nrxqueues; q++) {
                rxq = &sc->vmx_queue[q].vxq_rxqueue;
@@ -2337,7 +2342,7 @@
        struct vmxnet3_rxdesc *rxd __diagused;
        struct vmxnet3_rxcompdesc *rxcd;
        struct mbuf *m, *m_head, *m_tail;
-       int idx, length;
+       u_int idx, length;
        bool more = false;
 
        sc = rxq->vxrxq_sc;
@@ -2648,7 +2653,7 @@
 {
        struct vmxnet3_txring *txr;
        struct vmxnet3_txbuf *txb;
-       int i;
+       u_int i;
 
        txr = &txq->vxtxq_cmd_ring;
 
@@ -2672,7 +2677,7 @@
 {
        struct vmxnet3_rxring *rxr;
        struct vmxnet3_rxbuf *rxb;
-       int i, j;
+       u_int i, j;
 
        if (rxq->vxrxq_mhead != NULL) {
                m_freem(rxq->vxrxq_mhead);
@@ -2780,7 +2785,8 @@
 {
        struct vmxnet3_rxring *rxr;
        struct vmxnet3_comp_ring *rxc;
-       int i, populate, idx, error;
+       u_int i, populate, idx;
+       int error;
 
        /* LRO and jumbo frame is not supported yet */
        populate = 1;
@@ -3377,7 +3383,7 @@
                        error = EINVAL;
                        break;
                }
-               if (ifp->if_mtu != nmtu) {
+               if (ifp->if_mtu != (uint64_t)nmtu) {
                        s = splnet();
                        error = ether_ioctl(ifp, cmd, data);
                        splx(s);
@@ -3656,3 +3662,33 @@
 
        memset(dma, 0, sizeof(*dma));
 }
+
+MODULE(MODULE_CLASS_DRIVER, if_vmx, "pci");
+
+#ifdef _MODULE
+#include "ioconf.c"
+#endif
+
+static int
+if_vmx_modcmd(modcmd_t cmd, void *opaque)
+{
+       int error = 0;
+
+       switch (cmd) {
+       case MODULE_CMD_INIT:
+#ifdef _MODULE
+               error = config_init_component(cfdriver_ioconf_if_vmx,
+                   cfattach_ioconf_if_vmx, cfdata_ioconf_if_vmx);
+#endif
+               return error;
+       case MODULE_CMD_FINI:
+#ifdef _MODULE
+               error = config_fini_component(cfdriver_ioconf_if_vmx,
+                   cfattach_ioconf_if_vmx, cfdata_ioconf_if_vmx);
+#endif
+               return error;
+       default:
+               return ENOTTY;
+       }
+}
+
diff -r da9e30bbe2a5 -r 87f3d8d86ddc sys/modules/Makefile
--- a/sys/modules/Makefile      Wed Oct 14 10:19:10 2020 +0000
+++ b/sys/modules/Makefile      Wed Oct 14 10:26:59 2020 +0000
@@ -1,4 +1,4 @@
-#      $NetBSD: Makefile,v 1.246 2020/09/26 17:49:50 jmcneill Exp $
+#      $NetBSD: Makefile,v 1.247 2020/10/14 10:26:59 ryo Exp $
 
 .include <bsd.own.mk>
 
@@ -446,6 +446,7 @@
 SUBDIR+=       cac_pci
 SUBDIR+=       if_aq
 SUBDIR+=       if_vioif
+SUBDIR+=       if_vmx
 SUBDIR+=       ld
 SUBDIR+=       ld_aac
 SUBDIR+=       ld_amr
diff -r da9e30bbe2a5 -r 87f3d8d86ddc sys/modules/if_vmx/Makefile
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/sys/modules/if_vmx/Makefile       Wed Oct 14 10:26:59 2020 +0000
@@ -0,0 +1,12 @@
+#      $NetBSD: Makefile,v 1.1 2020/10/14 10:26:59 ryo Exp $
+
+.include "../Makefile.inc"
+
+.PATH: ${S}/dev/pci
+
+KMOD=  if_vmx
+IOCONF=        if_vmx.ioconf
+
+SRCS=  if_vmx.c
+
+.include <bsd.kmodule.mk>
diff -r da9e30bbe2a5 -r 87f3d8d86ddc sys/modules/if_vmx/if_vmx.ioconf
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/sys/modules/if_vmx/if_vmx.ioconf  Wed Oct 14 10:26:59 2020 +0000
@@ -0,0 +1,10 @@
+#      $NetBSD: if_vmx.ioconf,v 1.1 2020/10/14 10:26:59 ryo Exp $
+
+ioconf if_vmx
+
+include "conf/files"
+include "dev/pci/files.pci"
+
+pseudo-root pci*
+
+vmx* at pci? dev ? function ?



Home | Main Index | Thread Index | Old Index