serial: sifive: Remove duplicate `clkin_rate' setting
The `clkin_rate' member of `struct sifive_serial_port' now duplicates `uartclk' from nested `struct uart_port', so use `uartclk' throughout and remove `clkin_rate'. Signed-off-by: Maciej W. Rozycki <macro@orcam.me.uk> Link: https://lore.kernel.org/r/alpine.DEB.2.21.2204291656150.9383@angie.orcam.me.uk Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
0a7ff843d5
commit
4487cd3e5f
|
@ -148,7 +148,6 @@
|
|||
* @port: struct uart_port embedded in this struct
|
||||
* @dev: struct device *
|
||||
* @ier: shadowed copy of the interrupt enable register
|
||||
* @clkin_rate: input clock to the UART IP block.
|
||||
* @baud_rate: UART serial line rate (e.g., 115200 baud)
|
||||
* @clk: reference to this device's clock
|
||||
* @clk_notifier: clock rate change notifier for upstream clock changes
|
||||
|
@ -159,7 +158,6 @@ struct sifive_serial_port {
|
|||
struct uart_port port;
|
||||
struct device *dev;
|
||||
unsigned char ier;
|
||||
unsigned long clkin_rate;
|
||||
unsigned long baud_rate;
|
||||
struct clk *clk;
|
||||
struct notifier_block clk_notifier;
|
||||
|
@ -463,7 +461,7 @@ static void __ssp_update_div(struct sifive_serial_port *ssp)
|
|||
{
|
||||
u16 div;
|
||||
|
||||
div = DIV_ROUND_UP(ssp->clkin_rate, ssp->baud_rate) - 1;
|
||||
div = DIV_ROUND_UP(ssp->port.uartclk, ssp->baud_rate) - 1;
|
||||
|
||||
__ssp_writel(div, SIFIVE_SERIAL_DIV_OFFS, ssp);
|
||||
}
|
||||
|
@ -648,8 +646,8 @@ static int sifive_serial_clk_notifier(struct notifier_block *nb,
|
|||
udelay(DIV_ROUND_UP(12 * 1000 * 1000, ssp->baud_rate));
|
||||
}
|
||||
|
||||
if (event == POST_RATE_CHANGE && ssp->clkin_rate != cnd->new_rate) {
|
||||
ssp->clkin_rate = cnd->new_rate;
|
||||
if (event == POST_RATE_CHANGE && ssp->port.uartclk != cnd->new_rate) {
|
||||
ssp->port.uartclk = cnd->new_rate;
|
||||
__ssp_update_div(ssp);
|
||||
}
|
||||
|
||||
|
@ -678,7 +676,8 @@ static void sifive_serial_set_termios(struct uart_port *port,
|
|||
__ssp_set_stop_bits(ssp, nstop);
|
||||
|
||||
/* Set line rate */
|
||||
rate = uart_get_baud_rate(port, termios, old, 0, ssp->clkin_rate / 16);
|
||||
rate = uart_get_baud_rate(port, termios, old, 0,
|
||||
ssp->port.uartclk / 16);
|
||||
__ssp_update_baud_rate(ssp, rate);
|
||||
|
||||
spin_lock_irqsave(&ssp->port.lock, flags);
|
||||
|
@ -996,9 +995,8 @@ static int sifive_serial_probe(struct platform_device *pdev)
|
|||
}
|
||||
|
||||
/* Set up clock divider */
|
||||
ssp->clkin_rate = clk_get_rate(ssp->clk);
|
||||
ssp->port.uartclk = clk_get_rate(ssp->clk);
|
||||
ssp->baud_rate = SIFIVE_DEFAULT_BAUD_RATE;
|
||||
ssp->port.uartclk = ssp->clkin_rate;
|
||||
__ssp_update_div(ssp);
|
||||
|
||||
platform_set_drvdata(pdev, ssp);
|
||||
|
|
Loading…
Reference in New Issue