2015-03-19 15:58 GMT+01:00 Peter Hurley <peter@xxxxxxxxxxxxxxxxxx>: > On 03/19/2015 09:55 AM, Maxime Coquelin wrote: >>>>>> +static void stm32_set_termios(struct uart_port *port, struct ktermios *termios, >>>>>> + struct ktermios *old) > [...] >>>>>> + usardiv = (port->uartclk * 25) / (baud * 4); >>>>>> + mantissa = (usardiv / 100) << USART_BRR_DIV_M_SHIFT; >>>>>> + fraction = DIV_ROUND_CLOSEST((usardiv % 100) * 16, 100); >>>>>> + if (fraction & ~USART_BRR_DIV_F_MASK) { >>>>>> + fraction = 0; >>>>>> + mantissa += (1 << USART_BRR_DIV_M_SHIFT); >>>>>> + } > [...] >> Really, I would prefer keeping this fractional divider as it is >> implemented today. > > You have to admit that's basically an unintelligible mess; > how would anyone ever be able to refactor and replace that with a > common divider implementation? > > At the very least, please comment on the formula and format. Ok, I will refactor the implementation, and comment it. Regards, Maxime > > Regards, > Peter Hurley -- To unsubscribe from this list: send the line "unsubscribe linux-api" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html