From patchwork Mon Mar 4 12:27:01 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 13580517 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 5ACD4C5478C for ; Mon, 4 Mar 2024 12:31:10 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:Message-ID:Date:Subject:Cc :To:From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References: List-Owner; bh=Sl6WL5GCPkTMsyOqL+oxJkSu2B3ES4gGAOD4kA5cM10=; b=wICo1dtyEQo6fS HpqwMCy1NAA8UZwcDwiidpBkxgfeGS4N2jO6v76wApDBN9cfkUQGXHV/eJYqAXfl7F9qaRMSR3XEC +aqv21D7EEisPwxAM/AGDc33G01hj2hkQWbGU94NYoPtrG6UlAfJeurSjTS7GkhlQ8fepvbaZyjst W1xOHuGzutv3UjQlM/QwYkwJwLw4Zm/NDwHhfUv4Xu9TX0MObQAMIYelztLpCpQkW8Z0FZQIT+IY6 vTEvoMZbzWELkV/NG5Z86Zapnz2YH4Y6/3GgMqcb6U87orXczXmlqCAvEWu/ss469Q3OCeRWf1gqD 8/ht+xt3KC9Sdi58q3cA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1rh7T1-00000008yn4-04cc; Mon, 04 Mar 2024 12:30:51 +0000 Received: from mgamail.intel.com ([192.198.163.12]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1rh7Sx-00000008ylA-1O1i; Mon, 04 Mar 2024 12:30:48 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1709555447; x=1741091447; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=dDFiSzziXJFNdVtCeloj7uM1p/JFexseASaR1J4v3lc=; b=KPxPMQXoAi4o/PHcHTCbMvgqm+M2lAVnAYNdCHQXrpGZUfVIYVxwD0Mu LInZsO8EK0nkxVsog3wrZmhAhqkW/y0gk9fZAd2aUGmEHG60WHgC3SzkG JIkMgrS82HHdPXnuMn4RZvoYrBer0dQObmSPoir/BnKLcPrPz7C0/Bbho n1Xb6YiKmUTEe8CYEmW7V/2+Wc6MaJGaarFZMNs2H5ZlQqI0Py0032MQE zRIYunBzI28EDpbsWm/Rr3Xz5P9ipVTS5xvqVeXhQVeuAyC9g0ZTKc0nv u7mlOubmwzq8OO0vsU9nIMjDe8sfFUowOcmncai+kA8PeuE836icZm6gi A==; X-IronPort-AV: E=McAfee;i="6600,9927,11002"; a="7815035" X-IronPort-AV: E=Sophos;i="6.06,203,1705392000"; d="scan'208";a="7815035" Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmvoesa106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Mar 2024 04:30:44 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,11002"; a="937040421" X-IronPort-AV: E=Sophos;i="6.06,203,1705392000"; d="scan'208";a="937040421" Received: from black.fi.intel.com ([10.237.72.28]) by fmsmga001.fm.intel.com with ESMTP; 04 Mar 2024 04:30:38 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id 29C201D6; Mon, 4 Mar 2024 14:30:37 +0200 (EET) From: Andy Shevchenko To: Greg Kroah-Hartman , Andy Shevchenko , Florian Fainelli , linux-kernel@vger.kernel.org, linux-serial@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-aspeed@lists.ozlabs.org, linux-rpi-kernel@lists.infradead.org, linux-mips@vger.kernel.org, linux-tegra@vger.kernel.org Cc: Jiri Slaby , Joel Stanley , Andrew Jeffery , Broadcom internal kernel review list , Ray Jui , Scott Branden , Al Cooper , =?utf-8?q?Ilpo_J=C3=A4rvinen?= , Paul Cercueil , Vladimir Zapolskiy , Thierry Reding , Jonathan Hunter , Kunihiko Hayashi , Masami Hiramatsu Subject: [PATCH v3 00/14] serial: Add a helper to parse device properties and more Date: Mon, 4 Mar 2024 14:27:01 +0200 Message-ID: <20240304123035.758700-1-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.43.0.rc1.1.gbec44491f096 MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240304_043047_430626_492B009C X-CRM114-Status: GOOD ( 11.96 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org I have noticed that many drivers are using the subset of the common properties and IRQ retrieval code. With the moving it to one place we have got a common parser one for many. Tested on Intel Apollo Lake with DesingWare 8250 UARTs (clang compiled) and in QEMU for Aspeed configuration (gcc compiled). The rest has been compile tested on x86_64 with clang. In v3: - split the helper to two and export as GPL (Greg) - added tags (Florian, Kunihiko) In v2: - fixed typo (Hugo) - renamed UPIO_UNSET --> UPIO_UNKNOWN (Florian) - fixed 8250_of not working (Andrew) - dropped unused variable in 8250_bcm7271 (LKP) - added tag to 8250_aspeed_vuart (Andrew) Andy Shevchenko (14): serial: core: Move struct uart_port::quirks closer to possible values serial: core: Add UPIO_UNKNOWN constant for unknown port type serial: port: Introduce a common helper to read properties serial: 8250_aspeed_vuart: Switch to use uart_read_port_properties() serial: 8250_bcm2835aux: Switch to use uart_read_port_properties() serial: 8250_bcm7271: Switch to use uart_read_port_properties() serial: 8250_dw: Switch to use uart_read_port_properties() serial: 8250_ingenic: Switch to use uart_read_port_properties() serial: 8250_lpc18xx: Switch to use uart_read_port_properties() serial: 8250_of: Switch to use uart_read_port_properties() serial: 8250_omap: Switch to use uart_read_port_properties() serial: 8250_pxa: Switch to use uart_read_port_properties() serial: 8250_tegra: Switch to use uart_read_port_properties() serial: 8250_uniphier: Switch to use uart_read_port_properties() drivers/tty/serial/8250/8250_aspeed_vuart.c | 50 ++----- drivers/tty/serial/8250/8250_bcm2835aux.c | 92 ++++++------- drivers/tty/serial/8250/8250_bcm7271.c | 56 +++----- drivers/tty/serial/8250/8250_dw.c | 67 ++++----- drivers/tty/serial/8250/8250_ingenic.c | 20 +-- drivers/tty/serial/8250/8250_lpc18xx.c | 20 ++- drivers/tty/serial/8250/8250_of.c | 105 +++----------- drivers/tty/serial/8250/8250_omap.c | 29 ++-- drivers/tty/serial/8250/8250_pxa.c | 22 ++- drivers/tty/serial/8250/8250_tegra.c | 26 ++-- drivers/tty/serial/8250/8250_uniphier.c | 17 +-- drivers/tty/serial/serial_port.c | 145 ++++++++++++++++++++ include/linux/serial_core.h | 11 +- 13 files changed, 325 insertions(+), 335 deletions(-)