common: Use slice.swap() to clean up SectorHeaderIter::sort().
[gps-watch.git] / src / common / virtual_com.c
index 370767898a4c275b16c8ad9f57fd701a37e3f39f..cc388c704778aa037805d3fb01ffd56428a7f6e9 100644 (file)
@@ -59,6 +59,7 @@
 /* Provided by users. */
 extern void USB_DeviceClockInit(void);
 extern void USB_DeviceIsrEnable(void);
+extern void USB_DeviceIsrDisable(void);
 /*******************************************************************************
 * Definitions
 ******************************************************************************/
@@ -102,9 +103,8 @@ static usb_cdc_acm_info_t s_usbCdcAcmInfo = {{0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 0,
 
 /* Data buffer for receiving and sending*/
 static uint8_t s_currRecvBuf[DATA_BUFF_SIZE];
-volatile static uint32_t s_recvSize = 0;
-volatile static uint32_t s_sendSize = 0;
-volatile static uint8_t s_sendComplete = 0;
+static volatile uint32_t s_recvSize = 0;
+static volatile uint8_t s_sendComplete = 0;
 static uint32_t s_usbBulkMaxPacketSize = FS_CDC_VCOM_BULK_OUT_PACKET_SIZE;
 /*******************************************************************************
 * Prototypes
@@ -660,25 +660,19 @@ USB_VcomInit (uint16_t vid, uint16_t pid)
 }
 
 /* See virtual_com.h for documentation of this function. */
-void USB_VcomDeinit(usb_device_handle deviceHandle)
+void
+USB_VcomDeinit (void)
 {
-    USB_DeviceStop(deviceHandle);
-    USB_DeviceDeinit(deviceHandle);
+       if (s_cdcVcom.deviceHandle == NULL)
+               return;
+
+    USB_DeviceStop (s_cdcVcom.deviceHandle);
+    USB_DeviceDeinit (s_cdcVcom.deviceHandle);
     s_cdcVcom.deviceHandle = NULL;
-#if defined(USB_DEVICE_CONFIG_EHCI) && (USB_DEVICE_CONFIG_EHCI > 0)
-    USB_EhciPhyDeinit(CONTROLLER_ID);
-#endif
-#if defined(USB_DEVICE_CONFIG_KHCI) && (USB_DEVICE_CONFIG_KHCI > 0)
-    CLOCK_DisableUsbfs0Clock();
-#endif
-#if defined(USB_DEVICE_CONFIG_LPCIP3511FS) && (USB_DEVICE_CONFIG_LPCIP3511FS > 0U)
-    /* enable USB IP clock, user code. */
-    CLOCK_DisableClock(kCLOCK_Usbd0);
-#endif /* USB_DEVICE_CONFIG_LPCIP3511FS */
-
-#if defined(USB_DEVICE_CONFIG_LPCIP3511HS) && (USB_DEVICE_CONFIG_LPCIP3511HS > 0U)
-/* enable USB IP clock,user code. */
-#endif /* USB_DEVICE_CONFIG_LPCIP3511HS */
+
+       USB_DeviceIsrDisable();
+
+       /* XXX: We are not stopping the USBOTG clock yet. */
 }
 
 void