コード例 #1
0
/*FUNCTION*-------------------------------------------------------------
 *
 *  Function Name  : _usb_device_shutdown
 *  Returned Value : USB_OK or error code
 *  Comments       :
 *        Shutdown an initialized USB device
 *
 *END*-----------------------------------------------------------------*/
static usb_status _usb_device_shutdown
(
    /* [IN] the USB_USB_dev_initialize state structure */
    usb_device_handle         handle
)
{
    usb_status error;
    usb_dev_state_struct_t* usb_dev_ptr;

    usb_dev_ptr = (usb_dev_state_struct_t*)handle;
#if USBCFG_DEV_USE_TASK

    if (usb_dev_ptr->task_id != (uint32_t)OS_TASK_ERROR)
    {
        OS_Task_delete(usb_dev_ptr->task_id);
    }
    if (NULL != usb_dev_ptr->usb_dev_service_que)
    {
        OS_MsgQ_destroy(usb_dev_ptr->usb_dev_service_que);
    }
#endif
    if (usb_dev_ptr->usb_dev_interface->dev_shutdown != NULL)
    {
        error = (usb_dev_ptr->usb_dev_interface)->dev_shutdown(usb_dev_ptr->controller_handle);
        return error;
    }
    else
    {
#if _DEBUG
        USB_PRINTF("_usb_device_shutdown: DEV_SHUTDOWN is NULL\n");
#endif
        return USBERR_ERROR;
    }
} /* EndBody */
コード例 #2
0
ファイル: usb_otg_main.c プロジェクト: kylemanna/kinetis-sdk1
/*FUNCTION*-------------------------------------------------------------
 *
 *  Function Name  : _usb_otg_task_delete
 *  Returned Value : error or USB_OK
 *  Comments       :
 *  
 *END*-----------------------------------------------------------------*/
static usb_status _usb_otg_task_delete(usb_otg_handle otg_handle)
{
    int32_t task_id;
    task_id = g_otg_task_id;
    if (task_id == OS_TASK_ERROR)
    {
        return USBERR_UNKNOWN_ERROR;
    }
    OS_Task_delete(task_id);
    return USB_OK;
}