Received: by 2002:a6b:500f:0:0:0:0:0 with SMTP id e15csp156752iob; Mon, 2 May 2022 15:48:59 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxXY6uTcFdDGiHfPClzK1wRtIZYDiaRw1uJOqMeNCdoS7Ox26MEaXPIAYwInLchV6wzoL+J X-Received: by 2002:ac2:5d6a:0:b0:464:efd7:f964 with SMTP id h10-20020ac25d6a000000b00464efd7f964mr9529071lft.70.1651531739711; Mon, 02 May 2022 15:48:59 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1651531739; cv=none; d=google.com; s=arc-20160816; b=gKvbjen2LycN2N74PcfoSI8x7CtwoEccUHPVMVNDpw2/rPSLC1jr1N2eMMjoMkLv8x dxipbBq4Lm25t201cS5vh/fn5iVyrbkXDEmRfPwDcRdvS1MOJ838QpHBWYU0mUB5uKff BBMjIvtU4AKswNgQsJY3GaqsQZBJh0mDv3P/+mm4EPdu1vA3JzaHZ4WWu6E92CiylvzX o6YpKR03Yo3b1NcTcWd9ZSaV6z7J0G5ng6Iic43MqLERAb/WA5/qb92lMo94M/abfbmC bw8mGIR1f4q3b9AU9eVkN0zL0onLBDCpigp2WxJ+N2zY9oAlVL+6JJU6Es0lJEX74HXc MBBw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:user-agent:references:message-id :in-reply-to:subject:cc:to:from:date; bh=Vmx5+0WF7EYScKKPF0LYNBmCzxc6PVS1ApUatBvu+q4=; b=mbfYXnmagxlbXmr4DKo2E/qnQ9xiIMsPcUi1kE0zqGOCGN9Zpu8aDZ4i2VjV0cPzgE R6PGdqCS2fd+ix0HdzVjzdi4zpEU1vHMQfhEgPkTsi0ifDF74P3gCX2KfbeybNYOi+u7 p0fp9CRmBE+p7jCijZNkLO7VjbjDki0/kjQDogwivnK89iGXmN+gFZllBnPlctl+lot6 3Z7CdaKEqCwHKBzAlbJvp7PUNfUaC33FHjHIyefYuioBQ9tb9ok7fx7EJbKS94oWp8Pg /ezebA4104/pNpSBrruaduDeBL9pNCiFg3HPhG7arRXqp3uGTbW8eljLXexFkJ9wD53s fMrA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id v4-20020a2ea444000000b0024f0f391966si15805739ljn.85.2022.05.02.15.48.32; Mon, 02 May 2022 15:48:59 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1380981AbiD2UoE (ORCPT + 99 others); Fri, 29 Apr 2022 16:44:04 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:34642 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1380993AbiD2Uns (ORCPT ); Fri, 29 Apr 2022 16:43:48 -0400 Received: from angie.orcam.me.uk (angie.orcam.me.uk [IPv6:2001:4190:8020::34]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id DE11065404; Fri, 29 Apr 2022 13:40:26 -0700 (PDT) Received: by angie.orcam.me.uk (Postfix, from userid 500) id 1D9FD92009C; Fri, 29 Apr 2022 22:40:26 +0200 (CEST) Received: from localhost (localhost [127.0.0.1]) by angie.orcam.me.uk (Postfix) with ESMTP id 169AD92009B; Fri, 29 Apr 2022 21:40:26 +0100 (BST) Date: Fri, 29 Apr 2022 21:40:26 +0100 (BST) From: "Maciej W. Rozycki" To: Greg Kroah-Hartman , Jiri Slaby , Palmer Dabbelt , Paul Walmsley cc: Damien Le Moal , linux-serial@vger.kernel.org, linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH 2/2] serial: sifive: Remove duplicate `clkin_rate' setting In-Reply-To: Message-ID: References: User-Agent: Alpine 2.21 (DEB 202 2017-01-01) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,SPF_HELO_NONE, SPF_NONE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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 --- drivers/tty/serial/sifive.c | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) linux-serial-sifive-uartclk.diff Index: linux-macro/drivers/tty/serial/sifive.c =================================================================== --- linux-macro.orig/drivers/tty/serial/sifive.c +++ linux-macro/drivers/tty/serial/sifive.c @@ -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 sifi { 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(st 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(st __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 pl } /* 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);