* @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
        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;
 {
        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);
 }
                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);
        }
 
        __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);
        }
 
        /* 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);