From patchwork Mon Feb 26 14:19:16 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 13572272 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 5C793C48BF6 for ; Mon, 26 Feb 2024 14:27:55 +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=Dga2LJ6v/e0lFKBGTqYhUJek/K5tUBaCqx2gSvQGd3Q=; b=eTp/yPdQIZ3u8f iVmE7Ntr9/NDmlYLjNKpDg+VQeocYBTbNpZw/5p1HBWCJrb6LsI3CXx8u9TUqI73Jviu+ohsGvNwv 4VYli/zUBM7KETa4rf1Jl/HS1TEkliH7jqkgCEBeY/GZeGIHgl1V9BzjaD0Gcs2+hM8Boaqttd/IZ cViOx2+QTdsfbwQizg0bab2IDChwO+U24+y2m/6BRvvqg2eIFZCRD+mdTgQL+aSiCgsseYX4tEopp 7Z91rdk10lD3lSKmYg2Qhnbng1sTMoMElK1++IErdGL4rKMcsfCjppqASPeAxpY6WQNOGkqLjTA1x owsceMeTjZI6WFJtEyvQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1rebxG-000000017Vj-32eg; Mon, 26 Feb 2024 14:27:42 +0000 Received: from mgamail.intel.com ([198.175.65.16]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1rebv6-000000016MD-1MKO; Mon, 26 Feb 2024 14:25:29 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1708957529; x=1740493529; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=74CnFkZQ38BEQwdCa2/x1RRI0t/N2qwbGFXvoSq90DY=; b=Dh82Kid1sPeslAKt7toB5lZK9VZ4F0167/dhZCHhh0ujN/ey+bInd5uE sT1RzZ5DOmBF4c2bJAbSTS6wy3U8/7eEhasp1rh1tpJyJGxBGFOMIReXU ai9v1EllEkDd5sJr5xkY7PBzUsExWk+hA7M3BUFhN5TacZztsO8cLXi3p CXubIDg4xy0LNe6UZFeDsN/fU9WBcIN/+Z+kT8KS/mr+jVGV9vno75C6d X9rHlgHVuYzJV3hZGWLOEoOhOIUsfM/VcKeQ/cWLxjGRwqe393ogO+FjY gGCUuvgyCLBxzw1MUogPYdnR5zBEO1Na7b51fxR/7vBLnPLSNiJFftPOz g==; X-IronPort-AV: E=McAfee;i="6600,9927,10995"; a="3375128" X-IronPort-AV: E=Sophos;i="6.06,185,1705392000"; d="scan'208";a="3375128" Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orvoesa108.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 26 Feb 2024 06:25:24 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10995"; a="937030139" X-IronPort-AV: E=Sophos;i="6.06,185,1705392000"; d="scan'208";a="937030139" Received: from black.fi.intel.com ([10.237.72.28]) by fmsmga001.fm.intel.com with ESMTP; 26 Feb 2024 06:25:17 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id E5EA8213; Mon, 26 Feb 2024 16:25:15 +0200 (EET) From: Andy Shevchenko To: Greg Kroah-Hartman , Andy Shevchenko , Thomas Gleixner , 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 , Florian Fainelli , 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 v2 00/14] serial: Add a helper to parse device properties and more Date: Mon, 26 Feb 2024 16:19:16 +0200 Message-ID: <20240226142514.1485246-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-20240226_062528_528347_4F723085 X-CRM114-Status: GOOD ( 12.37 ) 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 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 | 134 ++++++++++++++++++++ include/linux/serial_core.h | 10 +- 13 files changed, 313 insertions(+), 335 deletions(-)