Hello. On 12/25/2012 01:26 PM, Barry Song wrote: > From: Barry Song <Baohua.Song@xxxxxxx> > The fast lookup table to set baudrate is only right when ioclk > is 150MHz. for most platforms, ioclk is 150MHz, but some boards > might set ioclk to other frequency. > so re-calc the clk_div_reg when ioclk is not 150MHz. > Signed-off-by: Barry Song <Baohua.Song@xxxxxxx> > --- > drivers/tty/serial/sirfsoc_uart.c | 18 +++++++++++++----- > 1 files changed, 13 insertions(+), 5 deletions(-) > diff --git a/drivers/tty/serial/sirfsoc_uart.c b/drivers/tty/serial/sirfsoc_uart.c > index 142217c..fe28b1f 100644 > --- a/drivers/tty/serial/sirfsoc_uart.c > +++ b/drivers/tty/serial/sirfsoc_uart.c > @@ -375,7 +375,12 @@ static void sirfsoc_uart_set_termios(struct uart_port *port, > int threshold_div; > int temp; > > - ioclk_rate = 150000000; > + struct clk *clk = clk_get_sys("io", NULL); Please keep the coding style and insert emoty line here; you can also remove preceding empty line (not to break the declaration block). > + BUG_ON(IS_ERR(clk)); > + > + ioclk_rate = clk_get_rate(clk); > + clk_put(clk); > + > switch (termios->c_cflag & CSIZE) { > default: > case CS8: WBR, Sergei -- To unsubscribe from this list: send the line "unsubscribe linux-serial" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html