uint32_t _kuart_mix_deinit ( /* [IN] the interrupt I/O initialization information */ KUART_INIT_STRUCT_PTR io_init_ptr, /* [IN] the address of the device specific information */ KUART_INFO_STRUCT_PTR io_info_ptr ) { /* Body */ if (!io_info_ptr) return MQX_INVALID_PARAMETER; if (io_info_ptr->LW_TIMER_PTR) { _lwtimer_cancel_period(io_info_ptr->LW_TIMER_PTR); _mem_free(io_info_ptr->LW_TIMER_PTR); } dma_request_disable(io_info_ptr->RX_DCH); dma_channel_release(io_info_ptr->RX_DCH); _kuart_polled_deinit(io_init_ptr, io_info_ptr); if (io_info_ptr->RX_BUF) _mem_free(io_info_ptr->RX_BUF); _int_install_isr(io_info_ptr->ERR_INT, io_info_ptr->OLD_ISR_ERR, io_info_ptr->OLD_ISR_ERR_DATA); _int_install_isr(io_init_ptr->RX_TX_VECTOR, io_info_ptr->OLD_ISR_TXRX, io_info_ptr->OLD_ISR_TXRX_DATA); return(MQX_OK); } /* Endbody */
uint_32 _kuart_int_deinit ( /* [IN] the interrupt I/O initialization information */ KUART_INIT_STRUCT_PTR io_init_ptr, /* [IN] the address of the device specific information */ KUART_INFO_STRUCT_PTR io_info_ptr ) { /* Body */ UART_MemMapPtr sci_ptr = io_info_ptr->SCI_PTR; _kuart_polled_deinit(io_init_ptr, io_info_ptr); _int_install_isr(io_init_ptr->RX_TX_VECTOR, io_info_ptr->OLD_ISR, io_info_ptr->OLD_ISR_DATA); return(MQX_OK); } /* Endbody */