From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752831AbdK1OfA (ORCPT ); Tue, 28 Nov 2017 09:35:00 -0500 Received: from mail.linuxfoundation.org ([140.211.169.12]:59420 "EHLO mail.linuxfoundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752069AbdK1Oe6 (ORCPT ); Tue, 28 Nov 2017 09:34:58 -0500 Date: Tue, 28 Nov 2017 15:35:02 +0100 From: Greg Kroah-Hartman To: Matt Redfearn Cc: Ralf Baechle , James Hogan , Eugeniy Paltsev , linux-serial@vger.kernel.org, linux-mips@linux-mips.org, "stable # 4 . 14" , linux-kernel@vger.kernel.org, Paul Burton , Ingo Molnar , Frederic Weisbecker Subject: Re: [PATCH 2/2] MIPS: Add custom serial.h with BASE_BAUD override for generic kernel Message-ID: <20171128143502.GA17699@kroah.com> References: <1511344649-27612-1-git-send-email-matt.redfearn@mips.com> <1511344649-27612-2-git-send-email-matt.redfearn@mips.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1511344649-27612-2-git-send-email-matt.redfearn@mips.com> User-Agent: Mutt/1.9.1 (2017-09-22) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Nov 22, 2017 at 09:57:29AM +0000, Matt Redfearn wrote: > Add a custom serial.h header for MIPS, allowing platforms to override > the asm-generic version if required. > > The generic platform uses this header to set BASE_BAUD to 0. The > generic platform supports multiple boards, which may have different > UART clocks. Also one of the boards supported is the Boston FPGA board, > where the UART clock depends on the loaded FPGA bitfile. As such there > is no way that the generic kernel can set a compile time default > BASE_BAUD. > > Commit 31cb9a8575ca ("earlycon: initialise baud field of earlycon device > structure") changed the behavior of of_setup_earlycon such that any baud > rate set in the device tree is now set in the earlycon structure. The > UART driver will then calculate a divisor based on BASE_BAUD and set it. > With MIPS generic kernels this resulted in garbage output due to the > incorrect uart clock rate being used to calculate a divisor. This > commit, combined with "serial: 8250_early: Only set divisor if valid clk > & baud" prevents the earlycon code setting a bad divisor and restores > earlycon output. > > Fixes: 31cb9a8575ca ("earlycon: initialise baud field of earlycon device structure") > Cc: stable # 4.14 > Signed-off-by: Matt Redfearn > > --- > > arch/mips/include/asm/Kbuild | 1 - > arch/mips/include/asm/serial.h | 21 +++++++++++++++++++++ > 2 files changed, 21 insertions(+), 1 deletion(-) > create mode 100644 arch/mips/include/asm/serial.h > > diff --git a/arch/mips/include/asm/Kbuild b/arch/mips/include/asm/Kbuild > index 7c8aab23bce8..b1f66699677d 100644 > --- a/arch/mips/include/asm/Kbuild > +++ b/arch/mips/include/asm/Kbuild > @@ -16,7 +16,6 @@ generic-y += qrwlock.h > generic-y += qspinlock.h > generic-y += sections.h > generic-y += segment.h > -generic-y += serial.h > generic-y += trace_clock.h > generic-y += unaligned.h > generic-y += user.h > diff --git a/arch/mips/include/asm/serial.h b/arch/mips/include/asm/serial.h > new file mode 100644 > index 000000000000..30be5cd8efdb > --- /dev/null > +++ b/arch/mips/include/asm/serial.h > @@ -0,0 +1,21 @@ > +/* > + * This file is subject to the terms and conditions of the GNU General Public > + * License. See the file "COPYING" in the main directory of this archive > + * for more details. Which version of the GPL? As it is, this means "GPL v1 and all others". I doubt you want that :) thanks, greg k-h