kernel/ndis: Solve module build without a USB bus in the config better.
authorSascha Wildner <saw@online.de>
Mon, 10 Mar 2014 18:32:34 +0000 (19:32 +0100)
committerSascha Wildner <saw@online.de>
Mon, 10 Mar 2014 18:33:09 +0000 (19:33 +0100)
When there is no USB bus in the config, the ndis modules need a hint
about which of the two possible USB stacks to build for. Always build
for usb4bsd unless oldusb is explicitly specified.

sys/dev/netif/ndis/Makefile
sys/dev/netif/ndis/if_ndis.c
sys/dev/netif/ndis/if_ndis_pccard.c
sys/dev/netif/ndis/if_ndis_pci.c
sys/dev/netif/ndis/if_ndisvar.h
sys/emulation/ndis/Makefile
sys/emulation/ndis/kern_ndis.c
sys/emulation/ndis/kern_windrv.c
sys/emulation/ndis/ntoskrnl_var.h
sys/emulation/ndis/subr_ndis.c

index f41bc89..28cbab3 100644 (file)
@@ -3,7 +3,7 @@
 KMOD=  if_ndis
 SRCS=  if_ndis.c if_ndis_pci.c if_ndis_pccard.c
 SRCS+= device_if.h bus_if.h pci_if.h card_if.h
-SRCS+= opt_usb.h use_usb.h
+SRCS+= opt_usb.h use_oldusb.h
 
 .if !defined(WANT_OLDUSB)
 SRCS+= if_ndis_u4b.c
@@ -11,9 +11,4 @@ SRCS+=        if_ndis_u4b.c
 SRCS+= if_ndis_usb.c
 .endif
 
-.if !defined(WANT_OLDUSB)
-use_usb.h:
-       echo "#define NUSB 1" > ${.TARGET}
-.endif
-
 .include <bsd.kmod.mk>
index 89af209..0bc4b60 100644 (file)
@@ -35,7 +35,7 @@
  * then hacked upon mercilessly by me.
  */
 
-#include "use_usb.h"
+#include "use_oldusb.h"
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -73,7 +73,7 @@
 
 #include <bus/pci/pcireg.h>
 #include <bus/pci/pcivar.h>
-#if NUSB > 0
+#if NOLDUSB == 0
 #include <bus/u4b/usb.h>
 #include <bus/u4b/usbdi.h>
 #else
@@ -87,7 +87,7 @@
 #include <emulation/ndis/ntoskrnl_var.h>
 #include <emulation/ndis/hal_var.h>
 #include <emulation/ndis/ndis_var.h>
-#if NUSB > 0
+#if NOLDUSB == 0
 #include <emulation/ndis/u4bd_var.h>
 #else
 #include <emulation/ndis/usbd_var.h>
@@ -560,14 +560,14 @@ ndis_attach(device_t dev)
 
        lockinit(&sc->ndis_lock, "network driver", 0, LK_CANRECURSE);
        KeInitializeSpinLock(&sc->ndis_rxlock);
-#if NUSB > 0
+#if NOLDUSB == 0
        KeInitializeSpinLock(&sc->ndisusb_tasklock);
        KeInitializeSpinLock(&sc->ndisusb_xferdonelock);
 #else
        KeInitializeSpinLock(&sc->ndisusb_xferlock);
 #endif
        InitializeListHead(&sc->ndis_shlist);
-#if NUSB > 0
+#if NOLDUSB == 0
        InitializeListHead(&sc->ndisusb_tasklist);
        InitializeListHead(&sc->ndisusb_xferdonelist);
 #else
@@ -636,7 +636,7 @@ ndis_attach(device_t dev)
        sc->ndis_startitem = IoAllocateWorkItem(sc->ndis_block->nmb_deviceobj);
        sc->ndis_resetitem = IoAllocateWorkItem(sc->ndis_block->nmb_deviceobj);
        sc->ndis_inputitem = IoAllocateWorkItem(sc->ndis_block->nmb_deviceobj);
-#if NUSB > 0
+#if NOLDUSB == 0
        sc->ndisusb_xferdoneitem =
            IoAllocateWorkItem(sc->ndis_block->nmb_deviceobj);
        sc->ndisusb_taskitem =
@@ -1077,7 +1077,7 @@ ndis_detach(device_t dev)
                IoFreeWorkItem(sc->ndis_resetitem);
        if (sc->ndis_inputitem != NULL)
                IoFreeWorkItem(sc->ndis_inputitem);
-#if NUSB > 0
+#if NOLDUSB == 0
        if (sc->ndisusb_xferdoneitem != NULL)
                IoFreeWorkItem(sc->ndisusb_xferdoneitem);
        if (sc->ndisusb_taskitem != NULL)
index f02d4f2..99be0b2 100644 (file)
@@ -32,7 +32,7 @@
  * $FreeBSD: src/sys/dev/if_ndis/if_ndis_pccard.c,v 1.21 2012/11/17 01:51:54 svnexp Exp $
  */
 
-#include "use_usb.h"
+#include "use_oldusb.h"
 
 #include <sys/ctype.h>
 #include <sys/param.h>
@@ -53,7 +53,7 @@
 
 #include <netproto/802_11/ieee80211_var.h>
 
-#if NUSB > 0
+#if NOLDUSB == 0
 #include <bus/u4b/usb.h>
 #include <bus/u4b/usbdi.h>
 #else
index ddf03f5..27b86c1 100644 (file)
@@ -32,7 +32,7 @@
  * $FreeBSD: src/sys/dev/if_ndis/if_ndis_pci.c,v 1.26 2010/12/19 11:14:34 tijl Exp $
  */
 
-#include "use_usb.h"
+#include "use_oldusb.h"
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -54,7 +54,7 @@
 
 #include <bus/pci/pcireg.h>
 #include <bus/pci/pcivar.h>
-#if NUSB > 0
+#if NOLDUSB == 0
 #include <bus/u4b/usb.h>
 #include <bus/u4b/usbdi.h>
 #else
index 4758f20..03fbdc6 100644 (file)
@@ -32,7 +32,7 @@
  * $FreeBSD: src/sys/dev/if_ndis/if_ndisvar.h,v 1.39 2009/05/02 15:14:18 thompsa Exp $
  */
 
-#include "use_usb.h"
+#include "use_oldusb.h"
 
 #define NDIS_DEFAULT_NODENAME  "FreeBSD NDIS node"
 #define NDIS_NODENAME_LEN      32
@@ -115,7 +115,7 @@ struct ndis_vap {
 };
 #define        NDIS_VAP(vap)   ((struct ndis_vap *)(vap))
 
-#if NUSB > 0
+#if NOLDUSB == 0
 #define        NDISUSB_CONFIG_NO                       0
 #define        NDISUSB_IFACE_INDEX                     0
 /* XXX at USB2 there's no USBD_NO_TIMEOUT macro anymore  */
@@ -153,7 +153,7 @@ struct ndisusb_task {
        void                    *nt_ctx;
        list_entry              nt_tasklist;
 };
-#else /* !NUSB > 0 */
+#else /* !NOLDUSB == 0 */
 #define        NDISUSB_CONFIG_NO                       1
 #define        NDISUSB_IFACE_INDEX                     0
 #define        NDISUSB_INTR_TIMEOUT                    1000
@@ -242,7 +242,7 @@ struct ndis_softc {
        int                     ndis_tx_timer;
        int                     ndis_hang_timer;
 
-#if NUSB > 0
+#if NOLDUSB == 0
        struct usb_device       *ndisusb_dev;
        struct lock             ndisusb_lock;
        struct ndisusb_ep       ndisusb_dread_ep;
@@ -270,7 +270,7 @@ struct ndis_softc {
 #define        NDISUSB_LOCK(_sc)       lockmgr(&(_sc)->ndisusb_lock, LK_EXCLUSIVE)
 #define        NDISUSB_UNLOCK(_sc)     lockmgr(&(_sc)->ndisusb_lock, LK_RELEASE)
 #define        NDISUSB_LOCK_ASSERT(_sc, t)     KKASSERT(lockstatus(&(_sc)->ndisusb_lock, curthread) != 0)
-#else /* !NUSB > 0 */
+#else /* !NOLDUSB == 0 */
        io_workitem             *ndisusb_xferitem;
        list_entry              ndisusb_xferlist;
        kspin_lock              ndisusb_xferlock;
index 701c86a..f1c867a 100644 (file)
@@ -4,7 +4,7 @@ KMOD=   ndis
 SRCS=  subr_pe.c subr_ndis.c subr_hal.c subr_ntoskrnl.c kern_ndis.c
 SRCS+= kern_windrv.c
 SRCS+= device_if.h bus_if.h pci_if.h
-SRCS+= opt_usb.h use_usb.h
+SRCS+= opt_usb.h use_oldusb.h
 
 .if ${MACHINE_ARCH} == "x86_64"
 SRCS+= winx64_wrap.S
@@ -20,9 +20,4 @@ SRCS+=        subr_u4bd.c
 SRCS+= subr_usbd.c
 .endif
 
-.if !defined(WANT_OLDUSB)
-use_usb.h:
-       echo "#define NUSB 1" > ${.TARGET}
-.endif
-
 .include <bsd.kmod.mk>
index 2e3bb45..a57a763 100644 (file)
@@ -32,7 +32,7 @@
  * $FreeBSD: src/sys/compat/ndis/kern_ndis.c,v 1.111 2011/02/23 21:45:28 brucec Exp $
  */
 
-#include "use_usb.h"
+#include "use_oldusb.h"
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -65,7 +65,7 @@
 #include <netproto/802_11/ieee80211_var.h>
 #include <netproto/802_11/ieee80211_ioctl.h>
 
-#if NUSB > 0
+#if NOLDUSB == 0
 #include <bus/u4b/usb.h>
 #include <bus/u4b/usbdi.h>
 #else
@@ -79,7 +79,7 @@
 #include <emulation/ndis/ntoskrnl_var.h>
 #include <emulation/ndis/ndis_var.h>
 #include <emulation/ndis/hal_var.h>
-#if NUSB > 0
+#if NOLDUSB == 0
 #include <emulation/ndis/u4bd_var.h>
 #else
 #include <emulation/ndis/usbd_var.h>
index e5ef9cb..4caeb1b 100644 (file)
@@ -32,7 +32,7 @@
  * $FreeBSD: src/sys/compat/ndis/kern_windrv.c,v 1.21 2010/11/22 20:46:38 bschmidt Exp $
  */
 
-#include "use_usb.h"
+#include "use_oldusb.h"
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -56,7 +56,7 @@
 #include <machine/segments.h>
 #endif
 
-#if NUSB > 0
+#if NOLDUSB == 0
 #include <bus/u4b/usb.h>
 #include <bus/u4b/usbdi.h>
 #else
@@ -70,7 +70,7 @@
 #include <emulation/ndis/ntoskrnl_var.h>
 #include <emulation/ndis/ndis_var.h>
 #include <emulation/ndis/hal_var.h>
-#if NUSB > 0
+#if NOLDUSB == 0
 #include <emulation/ndis/u4bd_var.h>
 #else
 #include <emulation/ndis/usbd_var.h>
index aada604..6801f17 100644 (file)
@@ -35,7 +35,7 @@
 #ifndef _NTOSKRNL_VAR_H_
 #define _NTOSKRNL_VAR_H_
 
-#include "use_usb.h"
+#include "use_oldusb.h"
 
 #define MTX_NTOSKRNL_SPIN_LOCK "NDIS thread lock"
 
@@ -1068,7 +1068,7 @@ struct irp {
                union {
                        kapc                    irp_apc;
                        struct {
-#if NUSB > 0
+#if NOLDUSB == 0
                                void            *irp_ep;
 #else
                                void            *irp_xfer;
@@ -1084,7 +1084,7 @@ struct irp {
 #define irp_pkttype            s2.u2.irp_pkttype
 
 #define        IRP_NDIS_DEV(irp)       (irp)->irp_tail.irp_misc.irp_usb.irp_dev
-#if NUSB > 0
+#if NOLDUSB == 0
 #define        IRP_NDISUSB_EP(irp)     (irp)->irp_tail.irp_misc.irp_usb.irp_ep
 #else
 #define        IRP_NDISUSB_XFER(irp)   (irp)->irp_tail.irp_misc.irp_usb.irp_xfer
index 6379163..0dd8a7b 100644 (file)
@@ -47,7 +47,7 @@
  * expects.
  */
 
-#include "use_usb.h"
+#include "use_oldusb.h"
 
 #include <sys/ctype.h>
 #include <sys/param.h>
@@ -91,7 +91,7 @@
 
 #include <bus/pci/pcireg.h>
 #include <bus/pci/pcivar.h>
-#if NUSB > 0
+#if NOLDUSB == 0
 #include <bus/u4b/usb.h>
 #include <bus/u4b/usbdi.h>
 #else