lkml.org 
[lkml]   [2020]   [May]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH v3 3/4] serial: 8250_dw: Simplify the ref clock rate setting procedure
On Thu, May 07, 2020 at 02:31:34AM +0300, Serge Semin wrote:
> Really instead of twice checking the clk_round_rate() return value
> we could do it once, and if it isn't error the clock rate can be changed.
> By doing so we decrease a number of ret-value tests and remove a weird
> goto-based construction implemented in the dw8250_set_termios() method.

> rate = clk_round_rate(d->clk, baud * 16);
> - if (rate < 0)
> - ret = rate;

> - else if (rate == 0)
> - ret = -ENOENT;

This case now handled differently.
I don't think it's good idea to change semantics.

So, I don't see how this, after leaving the rate==0 case, would be better than
original one.

> - else
> + if (rate > 0) {
> ret = clk_set_rate(d->clk, rate);
> + if (!ret)
> + p->uartclk = rate;
> + }
> clk_prepare_enable(d->clk);
>
> - if (ret)
> - goto out;
> -
> - p->uartclk = rate;
> -
> -out:
> p->status &= ~UPSTAT_AUTOCTS;
> if (termios->c_cflag & CRTSCTS)
> p->status |= UPSTAT_AUTOCTS;

--
With Best Regards,
Andy Shevchenko


\
 
 \ /
  Last update: 2020-05-15 16:07    [W:0.215 / U:0.396 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site