/* See mss_uart.h for details of how to use this function.  */
void MSS_UART_disable_irq(mss_uart_instance_t *this_uart, mss_uart_irq_t irq_mask)
/* See mss_uart.h for details of how to use this function.  */
void MSS_UART_disable_irq(mss_uart_instance_t *this_uart, mss_uart_irq_t irq_mask)
{
    ASSERT((this_uart == &g_mss_uart0) || (this_uart == &g_mss_uart1));
    if((this_uart == &g_mss_uart0) || (this_uart == &g_mss_uart1))
    {
        this_uart->hw_reg->IER &= ((uint8_t)(~((uint32_t)irq_mask & (uint32_t)IIRF_MASK)));
        this_uart->hw_reg->IEM |= (uint8_t)(~(((uint32_t)irq_mask & ~((uint32_t)IIRF_MASK)) >> 8u));
        NVIC_ClearPendingIRQ(this_uart->irqn);
        if(irq_mask == IIRF_MASK)
        {
            NVIC_DisableIRQ(this_uart->irqn);
        }
    }
}