Index: /trunk/Config.kmk
===================================================================
--- /trunk/Config.kmk	(revision 57989)
+++ /trunk/Config.kmk	(revision 57990)
@@ -479,6 +479,4 @@
 # Enable the new async completion manager
 VBOX_WITH_PDM_ASYNC_COMPLETION = 1
-# Temporary switch for enabling / disabling the new USB code on Darwin.
-VBOX_WITH_NEW_USB_CODE_ON_DARWIN = 1
 ifdef VBOX_WITH_USB
  VBOX_WITH_VUSB = 1
Index: /trunk/src/VBox/Devices/Makefile.kmk
===================================================================
--- /trunk/src/VBox/Devices/Makefile.kmk	(revision 57989)
+++ /trunk/src/VBox/Devices/Makefile.kmk	(revision 57990)
@@ -69,7 +69,4 @@
   if defined(VBOX_WITH_XHCI_IMPL) && !defined(VBOX_WITH_EXTPACK_PUEL)
    VBoxDDU_DEFS          += VBOX_WITH_XHCI_IMPL
-  endif
-  ifdef VBOX_WITH_NEW_USB_CODE_ON_DARWIN
-   VBoxDDU_DEFS.darwin   += VBOX_WITH_NEW_USB_CODE_ON_DARWIN
   endif
  else
@@ -101,7 +98,5 @@
  VBoxDDU_LDFLAGS.darwin   = -install_name $(VBOX_DYLD_EXECUTABLE_PATH)/VBoxDDU.dylib
  ifdef VBOX_WITH_USB
-  ifdef VBOX_WITH_NEW_USB_CODE_ON_DARWIN
   VBoxDDU_LDFLAGS.darwin += -framework IOKit
-  endif
  endif
 
@@ -325,7 +320,4 @@
 
   VBoxDD_DEFS.darwin    += VUSB_HAVE_USBPROXY_DEVICE
-  ifdef VBOX_WITH_NEW_USB_CODE_ON_DARWIN
-   VBoxDD_DEFS.darwin   += VBOX_WITH_NEW_USB_CODE_ON_DARWIN
-  endif
   VBoxDD_SOURCES.darwin += \
  	USB/USBProxyDevice.cpp \
Index: /trunk/src/VBox/Devices/USB/darwin/USBProxyDevice-darwin.cpp
===================================================================
--- /trunk/src/VBox/Devices/USB/darwin/USBProxyDevice-darwin.cpp	(revision 57989)
+++ /trunk/src/VBox/Devices/USB/darwin/USBProxyDevice-darwin.cpp	(revision 57990)
@@ -1184,5 +1184,4 @@
     }
 
-#ifdef VBOX_WITH_NEW_USB_CODE_ON_DARWIN
     /*
      * Call the USBLib init to make sure we're a valid VBoxUSB client.
@@ -1192,5 +1191,4 @@
     if (RT_FAILURE(vrc))
         LogRel(("USB: USBLibInit failed - %Rrc\n", vrc));
-#endif
 
     /*
@@ -1330,7 +1328,5 @@
     }
 
-#ifdef VBOX_WITH_NEW_USB_CODE_ON_DARWIN
     USBLibTerm();
-#endif
     return vrc;
 }
@@ -1379,8 +1375,4 @@
 
     IOReturn irc = (*pDevOsX->ppDevI)->ResetDevice(pDevOsX->ppDevI);
-#ifndef VBOX_WITH_NEW_USB_CODE_ON_DARWIN
-    if (irc == kIOReturnSuccess)
-        irc = (*pDevOsX->ppDevI)->USBDeviceReEnumerate(pDevOsX->ppDevI, 0);
-#endif
 
     irc = (*pDevOsX->ppDevI)->USBDeviceClose(pDevOsX->ppDevI);
@@ -1409,7 +1401,5 @@
     }
 
-#ifdef VBOX_WITH_NEW_USB_CODE_ON_DARWIN
     USBLibTerm();
-#endif
     LogFlow(("usbProxyDarwinClose: returns\n"));
 }
Index: /trunk/src/VBox/Devices/build/VBoxDDUDeps.cpp
===================================================================
--- /trunk/src/VBox/Devices/build/VBoxDDUDeps.cpp	(revision 57989)
+++ /trunk/src/VBox/Devices/build/VBoxDDUDeps.cpp	(revision 57990)
@@ -44,6 +44,5 @@
     (PFNRT)UsbOpen,
 # endif
-# if (defined(RT_OS_DARWIN) && defined(VBOX_WITH_NEW_USB_CODE_ON_DARWIN)) \
-  || defined(RT_OS_SOLARIS) || defined(RT_OS_WINDOWS) /* PORTME */
+# if defined(RT_OS_DARWIN) || defined(RT_OS_SOLARIS) || defined(RT_OS_WINDOWS) /* PORTME */
     (PFNRT)USBLibInit,
 # endif
Index: /trunk/src/VBox/Main/include/USBProxyService.h
===================================================================
--- /trunk/src/VBox/Main/include/USBProxyService.h	(revision 57989)
+++ /trunk/src/VBox/Main/include/USBProxyService.h	(revision 57990)
@@ -154,8 +154,6 @@
     ~USBProxyServiceDarwin();
 
-#ifdef VBOX_WITH_NEW_USB_CODE_ON_DARWIN
     virtual void *insertFilter(PCUSBFILTER aFilter);
     virtual void removeFilter(void *aId);
-#endif
 
     virtual int captureDevice(HostUSBDevice *aDevice);
@@ -183,8 +181,4 @@
      * not including newly attached devices. */
     bool mWaitABitNextTime;
-#ifndef VBOX_WITH_NEW_USB_CODE_ON_DARWIN
-    /** Whether we've got a fake async event and should return without entering the runloop. */
-    bool volatile mFakeAsync;
-#endif
     /** Whether we've successfully initialized the USBLib and should call USBLibTerm in the destructor. */
     bool mUSBLibInitialized;
Index: /trunk/src/VBox/Main/src-server/HostUSBDeviceImpl.cpp
===================================================================
--- /trunk/src/VBox/Main/src-server/HostUSBDeviceImpl.cpp	(revision 57989)
+++ /trunk/src/VBox/Main/src-server/HostUSBDeviceImpl.cpp	(revision 57990)
@@ -442,6 +442,5 @@
      */
     LogFlowThisFunc(("{%s} capturing the device.\n", mName));
-#if (defined(RT_OS_DARWIN) && defined(VBOX_WITH_NEW_USB_CODE_ON_DARWIN)) /* PORTME */ \
- || defined(RT_OS_WINDOWS) || defined(RT_OS_SOLARIS)
+#if defined(RT_OS_DARWIN) || defined(RT_OS_WINDOWS) || defined(RT_OS_SOLARIS) /* PORTME */
     i_setState(kHostUSBDeviceState_Capturing, kHostUSBDeviceState_UsedByVM, kHostUSBDeviceSubState_AwaitingDetach);
 #else
@@ -705,6 +704,5 @@
      * Try release it.
      */
-#if (defined(RT_OS_DARWIN) && defined(VBOX_WITH_NEW_USB_CODE_ON_DARWIN)) /* PORTME */ \
- || defined(RT_OS_WINDOWS)
+#if defined(RT_OS_DARWIN) || defined(RT_OS_WINDOWS) /* PORTME */
     i_startTransition(kHostUSBDeviceState_ReleasingToHost, kHostUSBDeviceState_Unused, kHostUSBDeviceSubState_AwaitingDetach);
 #else
@@ -759,6 +757,5 @@
      * Do the job.
      */
-#if (defined(RT_OS_DARWIN) && defined(VBOX_WITH_NEW_USB_CODE_ON_DARWIN)) /* PORTME */ \
- || defined(RT_OS_WINDOWS)
+#if defined(RT_OS_DARWIN) || defined(RT_OS_WINDOWS) /* PORTME */
     i_startTransition(kHostUSBDeviceState_Capturing, kHostUSBDeviceState_HeldByProxy, kHostUSBDeviceSubState_AwaitingDetach);
 #else
Index: /trunk/src/VBox/Main/src-server/darwin/USBProxyServiceDarwin.cpp
===================================================================
--- /trunk/src/VBox/Main/src-server/darwin/USBProxyServiceDarwin.cpp	(revision 57989)
+++ /trunk/src/VBox/Main/src-server/darwin/USBProxyServiceDarwin.cpp	(revision 57990)
@@ -53,5 +53,4 @@
 HRESULT USBProxyServiceDarwin::init(void)
 {
-#ifdef VBOX_WITH_NEW_USB_CODE_ON_DARWIN
     /*
      * Initialize the USB library.
@@ -64,5 +63,4 @@
     }
     mUSBLibInitialized = true;
-#endif
 
     /*
@@ -87,5 +85,4 @@
         stop();
 
-#ifdef VBOX_WITH_NEW_USB_CODE_ON_DARWIN
     /*
      * Terminate the USB library - it'll
@@ -96,9 +93,7 @@
         mUSBLibInitialized = false;
     }
-#endif
-}
-
-
-#ifdef VBOX_WITH_NEW_USB_CODE_ON_DARWIN
+}
+
+
 void *USBProxyServiceDarwin::insertFilter(PCUSBFILTER aFilter)
 {
@@ -111,5 +106,4 @@
     USBLibRemoveFilter(aId);
 }
-#endif /* VBOX_WITH_NEW_USB_CODE_ON_DARWIN */
 
 
@@ -127,14 +121,4 @@
     Assert(aDevice->i_getUnistate() == kHostUSBDeviceState_Capturing);
 
-#ifndef VBOX_WITH_NEW_USB_CODE_ON_DARWIN
-    /*
-     * Fake it.
-     */
-    ASMAtomicWriteBool(&mFakeAsync, true);
-    devLock.release();
-    interruptWait();
-    return VINF_SUCCESS;
-
-#else
     /*
      * Create a one-shot capture filter for the device (don't
@@ -159,5 +143,4 @@
     LogFlowThisFunc(("returns %Rrc pvId=%p\n", rc, pvId));
     return rc;
-#endif
 }
 
@@ -166,5 +149,5 @@
 {
     AssertReturnVoid(aDevice->isWriteLockOnCurrentThread());
-#ifdef VBOX_WITH_NEW_USB_CODE_ON_DARWIN
+
     /*
      * Remove the one-shot filter if necessary.
@@ -174,5 +157,4 @@
         USBLibRemoveFilter(aDevice->mOneShotId);
     aDevice->mOneShotId = NULL;
-#endif
 }
 
@@ -191,14 +173,4 @@
     Assert(aDevice->i_getUnistate() == kHostUSBDeviceState_ReleasingToHost);
 
-#ifndef VBOX_WITH_NEW_USB_CODE_ON_DARWIN
-    /*
-     * Fake it.
-     */
-    ASMAtomicWriteBool(&mFakeAsync, true);
-    devLock.release();
-    interruptWait();
-    return VINF_SUCCESS;
-
-#else
     /*
      * Create a one-shot ignore filter for the device
@@ -225,5 +197,4 @@
     LogFlowThisFunc(("returns %Rrc pvId=%p\n", rc, pvId));
     return rc;
-#endif
 }
 
@@ -232,5 +203,5 @@
 {
     AssertReturnVoid(aDevice->isWriteLockOnCurrentThread());
-#ifdef VBOX_WITH_NEW_USB_CODE_ON_DARWIN
+
     /*
      * Remove the one-shot filter if necessary.
@@ -240,5 +211,4 @@
         USBLibRemoveFilter(aDevice->mOneShotId);
     aDevice->mOneShotId = NULL;
-#endif
 }
 
@@ -247,9 +217,5 @@
 void USBProxyServiceDarwin::detachingDevice(HostUSBDevice *aDevice)
 {
-#ifndef VBOX_WITH_NEW_USB_CODE_ON_DARWIN
-    aDevice->setLogicalReconnect(HostUSBDevice::kDetachingPendingDetach);
-#else
     NOREF(aDevice);
-#endif
 }
 
@@ -259,11 +225,6 @@
     AssertReturn(aDevice, false);
     AssertReturn(!aDevice->isWriteLockOnCurrentThread(), false);
-#ifndef VBOX_WITH_NEW_USB_CODE_ON_DARWIN
-    /* We're faking async state stuff. */
-    return updateDeviceStateFake(aDevice, aUSBDevice, aRunFilters, aIgnoreMachine);
-#else
-    /* Nothing special here so far, so fall back on parent */
+    /* Nothing special here so far, so fall back on parent. */
     return USBProxyService::updateDeviceState(aDevice, aUSBDevice, aRunFilters, aIgnoreMachine);
-#endif
 }
 
@@ -271,10 +232,4 @@
 int USBProxyServiceDarwin::wait(RTMSINTERVAL aMillies)
 {
-#ifndef VBOX_WITH_NEW_USB_CODE_ON_DARWIN
-    if (    mFakeAsync
-        &&  ASMAtomicXchgBool(&mFakeAsync, false))
-        return VINF_SUCCESS;
-#endif
-
     SInt32 rc = CFRunLoopRunInMode(CFSTR(VBOX_IOKIT_MODE_STRING),
                                    mWaitABitNextTime && aMillies >= 1000
