From patchwork Mon Mar 4 12:27:02 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 209542 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:7301:fa17:b0:10a:f01:a869 with SMTP id ju23csp1420027dyc; Mon, 4 Mar 2024 05:31:14 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCWOBRM1eXzkU1wYuCf3QYtCGuvOFtTcaFnOQUuKIEB0vQLpgg3PPGHqH9yKcwPcwFLqteqc3PV5xspyvxCoFVnG6IPnzg== X-Google-Smtp-Source: AGHT+IG4z30PUF2SyGtw5dT0BjEHIV61ivQ/EgAc+rsrFtnONk5VXfWhYJTSpFhTMGNPF84Wnp2S X-Received: by 2002:a05:6a21:394c:b0:1a1:489a:6f87 with SMTP id ac12-20020a056a21394c00b001a1489a6f87mr3879418pzc.41.1709559074281; Mon, 04 Mar 2024 05:31:14 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1709559074; cv=pass; d=google.com; s=arc-20160816; b=f5/LM3j2UrFkHTqcTerKh/7X9tx6XwEszsETVCFGAcjBaPuCgvCElyF1pgjvw7GoI7 vkvBakp1sVOXjXFS/zEZvI4MZV+erEPw3bjDqahflbGEDj66Ry9thGyZdpIEvix36rh6 xMmuTLBCIDcuIb7bM3H8v4CXnHt5lPYM9yRHXgyqgIB6ne/pvYU6FkSpsPo8ndmISVaa ZN1pZDUcaN2JXlahqrGuqXQBgH62rsiIZZsGOV5BMpqN4Fv9x4WTXC+ctQVSMw0Qcv3U OvbQd+KXnv3Qmm8jC2s2moznFcpAsMvkLEFnnTUx6PmIm3OSErHwjbUQn3qvIpaOX1Oq tv6w== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:references:in-reply-to:message-id :date:subject:cc:to:from:dkim-signature; bh=+an0I+W434cxFId+3/STrzSURj9YTgEiB5vzTwV2bW4=; fh=eibS0BsaUBr9hbqk6h62kqABNizvaE1htIo3O7xuSNA=; b=ym6ikGR2eYLTw/GulWn4yOEds1atIMOnPdkyb4/2ApxB/3KM9pvzjNSSI7XVO/wx/I RiK9rbLL18+3ZjqRy4/5I5xSoO0kof+88ZlIh9IjHs9d0eofu7tFSlzgIjMNLU0jNOEG 02m1T1cMXlJxWh2qSw0usLar8hotsRG13ZAOuRKijZF69yOOI0YU9KpEZiyW+ev2zhNG nCJ3bS2gQpv1N4KqxJKrrChAC4Pj1hp20gTfh+b4u0lAU7dsXC6e1P3nPofl/y5IpP48 bVuEJSFGJ4o5iBUqrvxS3tkRQh7dRmNq52+c1gDK+akRW/INeywHhhdsoaPvg8zQjb3r fL2g==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=Qgi6Mo7S; arc=pass (i=1 dkim=pass dkdomain=intel.com dmarc=pass fromdomain=linux.intel.com); spf=pass (google.com: domain of linux-kernel+bounces-90567-ouuuleilei=gmail.com@vger.kernel.org designates 147.75.48.161 as permitted sender) smtp.mailfrom="linux-kernel+bounces-90567-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org. [147.75.48.161]) by mx.google.com with ESMTPS id c3-20020a62e803000000b006e541870d59si8191591pfi.288.2024.03.04.05.31.13 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 04 Mar 2024 05:31:14 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-90567-ouuuleilei=gmail.com@vger.kernel.org designates 147.75.48.161 as permitted sender) client-ip=147.75.48.161; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=Qgi6Mo7S; arc=pass (i=1 dkim=pass dkdomain=intel.com dmarc=pass fromdomain=linux.intel.com); spf=pass (google.com: domain of linux-kernel+bounces-90567-ouuuleilei=gmail.com@vger.kernel.org designates 147.75.48.161 as permitted sender) smtp.mailfrom="linux-kernel+bounces-90567-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sy.mirrors.kernel.org (Postfix) with ESMTPS id DEF4CB234BD for ; Mon, 4 Mar 2024 12:31:44 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 15BBC3D981; Mon, 4 Mar 2024 12:30:52 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="Qgi6Mo7S" Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.12]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A1EA03D39B; Mon, 4 Mar 2024 12:30:47 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.12 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709555449; cv=none; b=Ggt9FFdnwnWvNSMmECY/8/gYY91TSa/ZWPmRNSnm5SuBFWz8OeMB5AwK/O5eTGaAE4gEG8Y9cfdQcUIAPKO/lKpYSFZZm8HsJEI++YQwLtFWHLOinp/u9MjBZAtDaqU86hu1r2srK21aaGVUfqdySz+Pfyx/aqSYA3/csfNhnfg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709555449; c=relaxed/simple; bh=A8p5Npmvda1MkUKRvwcBNktCV2esnRfoVCvpbf/iEPo=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=j2pU89nN/wU8zPOKjoSthTcItiB4i+5q/ZCqiVTq39mRqy55cRcLEyM8mzYERlennSKJcENqemItpQ756w+hiN65eK7qpdfuhUDuj4C1vyqCUfnVSPrsm79KT0Nzc/g85m5V8z2rvnRa8IQRc7FplsTwU0bB1B6EQBuOcCQAl1o= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com; spf=none smtp.mailfrom=linux.intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=Qgi6Mo7S; arc=none smtp.client-ip=192.198.163.12 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=linux.intel.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1709555448; x=1741091448; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=A8p5Npmvda1MkUKRvwcBNktCV2esnRfoVCvpbf/iEPo=; b=Qgi6Mo7SnoumanKaorb2rLmC5x5r4onLSq7WCz4nDkCrx2QBl/H5MDKb JeFYGCx0v+vqGITSTMlnqoFX53QXvPvwmH1VWqpFD7fZ+3z5AwnYVWSl3 3PN7eY3gNAd8EgQvGVieAEfjA77KBzq0ys7I6vwgfdmQLOLkUUrJzkvJL PdtbdMXJQJxwCxamT/EOmcvhWmR+/EMC+peIDYWPK9MAOUHSSYdy7/YBA vEVR54WRtEguJK5TI+8rDeS/OXbrP8CJepSQ3Xf8V5bYBfhs9f9aZIbc/ xZPSzlLDBFD5Kb6SR15hmF45x5iAk+pzP/IgMAP2NyLUhF5/XjSfIhGBN A==; X-IronPort-AV: E=McAfee;i="6600,9927,11002"; a="7815046" X-IronPort-AV: E=Sophos;i="6.06,203,1705392000"; d="scan'208";a="7815046" 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="937040423" X-IronPort-AV: E=Sophos;i="6.06,203,1705392000"; d="scan'208";a="937040423" 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 38ECB86; 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 , Andi Shyti Subject: [PATCH v3 01/14] serial: core: Move struct uart_port::quirks closer to possible values Date: Mon, 4 Mar 2024 14:27:02 +0200 Message-ID: <20240304123035.758700-2-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.43.0.rc1.1.gbec44491f096 In-Reply-To: <20240304123035.758700-1-andriy.shevchenko@linux.intel.com> References: <20240304123035.758700-1-andriy.shevchenko@linux.intel.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1792602615633232657 X-GMAIL-MSGID: 1792602615633232657 Currently it's not crystal clear what UPIO_* and UPQ_* definitions belong to. Reindent the code, so it will be easy to read and understand. No functional changes intended. Reviewed-by: Andi Shyti Signed-off-by: Andy Shevchenko --- include/linux/serial_core.h | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/include/linux/serial_core.h b/include/linux/serial_core.h index 55b1f3ba48ac..2d2ec99eca93 100644 --- a/include/linux/serial_core.h +++ b/include/linux/serial_core.h @@ -467,8 +467,8 @@ struct uart_port { unsigned int fifosize; /* tx fifo size */ unsigned char x_char; /* xon/xoff char */ unsigned char regshift; /* reg offset shift */ + unsigned char iotype; /* io access style */ - unsigned char quirks; /* internal quirks */ #define UPIO_PORT (SERIAL_IO_PORT) /* 8b I/O port access */ #define UPIO_HUB6 (SERIAL_IO_HUB6) /* Hub6 ISA card */ @@ -479,7 +479,9 @@ struct uart_port { #define UPIO_MEM32BE (SERIAL_IO_MEM32BE) /* 32b big endian */ #define UPIO_MEM16 (SERIAL_IO_MEM16) /* 16b little endian */ - /* quirks must be updated while holding port mutex */ + unsigned char quirks; /* internal quirks */ + + /* internal quirks must be updated while holding port mutex */ #define UPQ_NO_TXEN_TEST BIT(0) unsigned int read_status_mask; /* driver specific */ From patchwork Mon Mar 4 12:27:03 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 209648 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:7301:fa17:b0:10a:f01:a869 with SMTP id ju23csp1565224dyc; Mon, 4 Mar 2024 09:22:38 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCUMEyQqLamJqHbc2cdWJJD16NBESnx+xu/cp6aWK2hshkmI0gEwl+TOWQDeJqQlnhCaUAOzID2iAEuDJBXzwOOH3fmfnA== X-Google-Smtp-Source: AGHT+IEnW8ihGx3vqNnsZF6dB7OzD3QVryFvMfWhJzotqX3KIJ0mPSGp6h3eNMJ21Ni6ZrMSrdal X-Received: by 2002:a05:6808:b2c:b0:3c1:f5d5:47a1 with SMTP id t12-20020a0568080b2c00b003c1f5d547a1mr1244403oij.21.1709572958083; Mon, 04 Mar 2024 09:22:38 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1709572958; cv=pass; d=google.com; s=arc-20160816; b=ykkBZdPn+uJlBbdBU1KstBfru2/OG+QUxjLALqhhhLgAJ1fUUH9KpvP0axVEZicnnp zoql253oF2cbbwYhNmbWqf3LUp6h2DSNSYutwOsMZUZcIHmdiSYVSrBjDgkwWHBc+1Ue u/lx1OFzlXAG46eZPSEH7qdks2wVuMO872Xh2JnFQF0W6j67fbiQOEM2vSqn7jXxYzei DgjO0JIBwTd3GlKBpjMxoedr7GkukytJUoIlfMkgut3w1P4TUwQZtBBwrIm0T2/peOn5 J9XTVruI0yUlAUKzVgfbB/Xyrj22C1xPhb9opg5uBaS9QcDuXObnsgfDoIwsIfuUQ4y7 U8JQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:references:in-reply-to:message-id :date:subject:cc:to:from:dkim-signature; bh=u1iqrhMUcmW7QU2Cpu2ektjrL9tIR1ItRhI3T0RUlng=; fh=ZfFIga6g1z2FD+c6esSANNfr8Qf2hi+vX5vwtK2q0AM=; b=Wdyfa2RJN4yIoLVaPupk5wGqW1+shnRb5+OAZgAJlaMX1847Jz+2wv4TDoPV4zNjKl pvTU28ReoFgK/y7Os4rOOnG0iXlifoDowpd1v86Aog5CgOJjpQBJkC1Rsv8DOhFlYvIz rOhNcxqIzfJsP+RiOeBlgNYywS8A/niUpEHuMDEkB6hrYTC5bSDJ1BoU5pbcFYnIBkwV 4boiHEXsoDwuDnd9Aa1yc1+v2pqZjpRvEQyg79+PIDIxQbqWvEir0fOhILUxMmD0r2jG F+hwr0BsPqzkzaxphPtGKbbBQHGqnJdY6ipvT7veCOfqA7Y4B3RfoyRk26w0NdnMcoHn ELkw==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=NkJl1K4k; arc=pass (i=1 dkim=pass dkdomain=intel.com dmarc=pass fromdomain=linux.intel.com); spf=pass (google.com: domain of linux-kernel+bounces-90568-ouuuleilei=gmail.com@vger.kernel.org designates 139.178.88.99 as permitted sender) smtp.mailfrom="linux-kernel+bounces-90568-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org. [139.178.88.99]) by mx.google.com with ESMTPS id k129-20020a636f87000000b005d8b8c6f94csi8549910pgc.565.2024.03.04.09.22.37 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 04 Mar 2024 09:22:38 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-90568-ouuuleilei=gmail.com@vger.kernel.org designates 139.178.88.99 as permitted sender) client-ip=139.178.88.99; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=NkJl1K4k; arc=pass (i=1 dkim=pass dkdomain=intel.com dmarc=pass fromdomain=linux.intel.com); spf=pass (google.com: domain of linux-kernel+bounces-90568-ouuuleilei=gmail.com@vger.kernel.org designates 139.178.88.99 as permitted sender) smtp.mailfrom="linux-kernel+bounces-90568-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sv.mirrors.kernel.org (Postfix) with ESMTPS id 2C4632877F0 for ; Mon, 4 Mar 2024 12:31:51 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 86FC43EA83; Mon, 4 Mar 2024 12:30:52 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="NkJl1K4k" Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.12]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5FCBC3D540; Mon, 4 Mar 2024 12:30:48 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.12 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709555449; cv=none; b=I+KHiLu7WODymBUyLo2a7PazSY1045lZMOW2+J5+7qT3ZKf7t88wwUWEmxDvqUKXsxkZAJmcr2M6RexD6kR/V+uAwwvmT4h4t4QStCxOe9LZz+UdLHAIMAyhOQ1ksm220MCso7sFN442BBMZF3+x/KAJ2WJgxWB6PKrxbOW+MQ8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709555449; c=relaxed/simple; bh=IPNtP2dbEC5nwNRrbZdk3a6zN5igpayNS2XgmKDfk4s=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=GnKt0FjDHFNKBdpgBh3O8XV/f8oYWfyV77C6tqsUaDn438xqGeiRGq84AIJqZiVbBjBnhHls+h71WXP5/sxBfqwLLlzM1JeByHHVaGePDjWdlx4jNGBft/xnX2dV+RgZyDkmqED2S+vgPNpilPc42+sNFgk6EQJyF8Kxim9K4cw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com; spf=none smtp.mailfrom=linux.intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=NkJl1K4k; arc=none smtp.client-ip=192.198.163.12 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=linux.intel.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1709555448; x=1741091448; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=IPNtP2dbEC5nwNRrbZdk3a6zN5igpayNS2XgmKDfk4s=; b=NkJl1K4k4UbsoNWOo51ytyhNAOYYqIyEH6svC4PfNMD4r0wkCJ5HMenP GxQGTtmeniF8SfZmD8Z1QL/RmpHdPcogsKHpNjPgGiM5V6FZ5gRbunMsb IDBvke36KnNStK7agNKa01cJd19BVVdxIsX/J13c3Qs8txGh8NkC+HoW0 uatIUOdwoQ27xo9pFkMM245gCI/3GwvbGAbEisIlmYIW1SZwiOU6ONzEN cLuVhw9C53zYx5ASKYkH9RHotXq58pP4GvFcXEaA4t+trUHoTNfYkUNm8 gokmOBK3JeuRt26W4pqhTse1NhCtbyS6GtznylzNzPab3ScCKnPaJId2+ w==; X-IronPort-AV: E=McAfee;i="6600,9927,11002"; a="7815060" X-IronPort-AV: E=Sophos;i="6.06,203,1705392000"; d="scan'208";a="7815060" 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="937040422" X-IronPort-AV: E=Sophos;i="6.06,203,1705392000"; d="scan'208";a="937040422" 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 4975231F; 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 02/14] serial: core: Add UPIO_UNKNOWN constant for unknown port type Date: Mon, 4 Mar 2024 14:27:03 +0200 Message-ID: <20240304123035.758700-3-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.43.0.rc1.1.gbec44491f096 In-Reply-To: <20240304123035.758700-1-andriy.shevchenko@linux.intel.com> References: <20240304123035.758700-1-andriy.shevchenko@linux.intel.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1792617173897503699 X-GMAIL-MSGID: 1792617173897503699 In some APIs we would like to assign the special value to iotype and compare against it in another places. Introduce UPIO_UNKNOWN for this purpose. Note, we can't use 0, because it's a valid value for IO port access. Signed-off-by: Andy Shevchenko --- include/linux/serial_core.h | 1 + 1 file changed, 1 insertion(+) diff --git a/include/linux/serial_core.h b/include/linux/serial_core.h index 2d2ec99eca93..c2cf9484014c 100644 --- a/include/linux/serial_core.h +++ b/include/linux/serial_core.h @@ -470,6 +470,7 @@ struct uart_port { unsigned char iotype; /* io access style */ +#define UPIO_UNKNOWN ((unsigned char)~0U) /* UCHAR_MAX */ #define UPIO_PORT (SERIAL_IO_PORT) /* 8b I/O port access */ #define UPIO_HUB6 (SERIAL_IO_HUB6) /* Hub6 ISA card */ #define UPIO_MEM (SERIAL_IO_MEM) /* driver-specific */ From patchwork Mon Mar 4 12:27:04 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 209635 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:7301:fa17:b0:10a:f01:a869 with SMTP id ju23csp1534154dyc; Mon, 4 Mar 2024 08:32:17 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCUF0B6fS29LTNUYfR4H2ID67dG3972hfnZAl3xUDop0I7iZaCW3/AThz0+0STwjJGAtp3fcKVEygpNe8Y+D6sdRITi2RA== X-Google-Smtp-Source: AGHT+IG7pNSb+O5S4wBRBhuMfvnyQRjYZen+QKJQ7KKt8iVDW0Y1RW42oS2ClCK4ijBPuZQxb8CB X-Received: by 2002:a17:90a:dd82:b0:299:489f:a126 with SMTP id l2-20020a17090add8200b00299489fa126mr6187601pjv.41.1709569937570; Mon, 04 Mar 2024 08:32:17 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1709569937; cv=pass; d=google.com; s=arc-20160816; b=J0JCEhjoSgeY3jUwuQTbTcG61S8Ls/1+/zjX3yGagodXt+38dA5ItS2//FfgVvdx1w H8qzBfqtb5SUP/d4mRHFIvX1uZR6QZYG2bHGFPNIHfJnmUeWkd5Dg4nIjRNZJlU9BPWj a7YYi3AsvmQ5VuLnXLBXehAfgCoG96UVp9hxYn+pOIDfc0S7a+g3/48BRSMKsI0Ig1YN z8zEG7FckQ45eNEu4yTLJ7CyLpcRQzg74u1qB1Ea/VPtHnW3KBlcNAvhRUTcjd0PUWNH zswzyvrcW0n+b87pDARNqtcVGqBwJibGOiPAhpek89aMCEitDVR5GpEAngLwQx9T+8MB 0yUQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:references:in-reply-to:message-id :date:subject:cc:to:from:dkim-signature; bh=FTq7STh7djjsOnuRb9FI7WSyzTctwTWRYwAf/DNe2NA=; fh=ZfFIga6g1z2FD+c6esSANNfr8Qf2hi+vX5vwtK2q0AM=; b=MNT6JfJkq0o/cif2gLT4ugo3+2EMztZ2k70dNSeFPk9jU+3rAA21JcJri1BuT0ctmM mwJEuw/80+G/N3pFHJSMpcwoNytRNbIDDtxEP9+bTqSwmcchbeyf+bz32sEK+fQaqm82 7KwiWzhCy65M66ocSmIFOwMvcTmqaKYhDHATB34+KcgW4aNrBm6cN3+op6/kwwEMsw5+ 6KiEUdPn5ZCX8WzduxIg6cxIAx+UjsEiPkU1bcxuM1/b9f57q3T4RRYRLCp43vdJnoxT 0zjd5Ww0WDqTK4VLpFIWawtbnZ+vNEdDuPrhUtU0wPnvMe+z5MVnr2wzb6S9hY//gay2 p8FQ==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=n6sIToEd; arc=pass (i=1 dkim=pass dkdomain=intel.com dmarc=pass fromdomain=linux.intel.com); spf=pass (google.com: domain of linux-kernel+bounces-90570-ouuuleilei=gmail.com@vger.kernel.org designates 139.178.88.99 as permitted sender) smtp.mailfrom="linux-kernel+bounces-90570-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org. [139.178.88.99]) by mx.google.com with ESMTPS id nc8-20020a17090b37c800b0029a90ca16d6si8690991pjb.22.2024.03.04.08.32.17 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 04 Mar 2024 08:32:17 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-90570-ouuuleilei=gmail.com@vger.kernel.org designates 139.178.88.99 as permitted sender) client-ip=139.178.88.99; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=n6sIToEd; arc=pass (i=1 dkim=pass dkdomain=intel.com dmarc=pass fromdomain=linux.intel.com); spf=pass (google.com: domain of linux-kernel+bounces-90570-ouuuleilei=gmail.com@vger.kernel.org designates 139.178.88.99 as permitted sender) smtp.mailfrom="linux-kernel+bounces-90570-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sv.mirrors.kernel.org (Postfix) with ESMTPS id D97822885B3 for ; Mon, 4 Mar 2024 12:32:41 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id BC396405F2; Mon, 4 Mar 2024 12:30:55 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="n6sIToEd" Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.12]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 050CA3D968; Mon, 4 Mar 2024 12:30:49 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.12 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709555451; cv=none; b=P21CqzKOkmrMQq+/GsU4wbCIq94G/M3oX+B2hWZr3CzWVjVBPMR7vDLzCQKB8fx4ZufB9tRwggGw4rbZw3DWJ/Hc5iR4IAMNKtQ6RI+Fp+ZbClCpeme9I5ARJd/VtNuTW6BSj+an2A3LnKkGiN5SLkhrj4ledczPbsw4fdmnKPo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709555451; c=relaxed/simple; bh=MzeE3/tXNoP+XePWQLaHjZ7JMNhfc4kTQ5ZC6sxw0R8=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=VD/wWsECvZJIVJlu/fOXs21WGfzkrkPzVkYIu6cqvvWW1cEIVyG00cUAGNUNzX6DCG8aufWlrAcjDhu3K20t+N4uOtoyJc0Ss2xtyajaiQAgnMSMPVVbfAEqB/pzT8GbUj7x/llebFszxrzsbilnko/JM1+zBZiPQV0z92cnbYk= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com; spf=none smtp.mailfrom=linux.intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=n6sIToEd; arc=none smtp.client-ip=192.198.163.12 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=linux.intel.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1709555450; x=1741091450; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=MzeE3/tXNoP+XePWQLaHjZ7JMNhfc4kTQ5ZC6sxw0R8=; b=n6sIToEdEEtPs9Rh7TkeQYpI6KWVlUXBYBd17zxvKeZ0qz9IRZ1Xr9hq A0aXZbo03OEHWL5mrUh7Z7iFSiqKAWfKtMdsmW29+l7UtX/mKz/I/XfUF 48pI6qkBQhExmrBntB+JDnX+gUv6l8Yo7S0i+vES5h1kMhKVS9FnAPv6R AzRWb/QHcDVJkjX2RZ584+nUnPWyUryfGkwgPfcAKBjmu+lvE6vsUmeqc 88R0M3kvyz5CvyeHXiC6I9wSd25cI175FpHPOECrv0Q6bwSSAoi/pU1nB fPpwkT9+MCcjWHr8PT8cNTLQbJdDJs5MJJhE+qBvf7R50A2TYbbPhpx2O w==; X-IronPort-AV: E=McAfee;i="6600,9927,11002"; a="7815073" X-IronPort-AV: E=Sophos;i="6.06,203,1705392000"; d="scan'208";a="7815073" 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="937040424" X-IronPort-AV: E=Sophos;i="6.06,203,1705392000"; d="scan'208";a="937040424" 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 58ECA3F1; 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 03/14] serial: port: Introduce a common helper to read properties Date: Mon, 4 Mar 2024 14:27:04 +0200 Message-ID: <20240304123035.758700-4-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.43.0.rc1.1.gbec44491f096 In-Reply-To: <20240304123035.758700-1-andriy.shevchenko@linux.intel.com> References: <20240304123035.758700-1-andriy.shevchenko@linux.intel.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1792614007077024337 X-GMAIL-MSGID: 1792614007077024337 Several serial drivers want to read the same or similar set of the port properties. Make a common helper for them. Signed-off-by: Andy Shevchenko --- drivers/tty/serial/serial_port.c | 145 +++++++++++++++++++++++++++++++ include/linux/serial_core.h | 2 + 2 files changed, 147 insertions(+) diff --git a/drivers/tty/serial/serial_port.c b/drivers/tty/serial/serial_port.c index 72b6f4f326e2..22b9eeb23e68 100644 --- a/drivers/tty/serial/serial_port.c +++ b/drivers/tty/serial/serial_port.c @@ -8,7 +8,10 @@ #include #include +#include +#include #include +#include #include #include @@ -105,6 +108,148 @@ void uart_remove_one_port(struct uart_driver *drv, struct uart_port *port) } EXPORT_SYMBOL(uart_remove_one_port); +/** + * __uart_read_properties - read firmware properties of the given UART port + * @port: corresponding port + * @use_defaults: apply defaults (when %true) or validate the values (when %false) + * + * The following device properties are supported: + * - clock-frequency (optional) + * - fifo-size (optional) + * - no-loopback-test (optional) + * - reg-shift (defaults may apply) + * - reg-offset (value may be validated) + * - reg-io-width (defaults may apply or value may be validated) + * - interrupts (OF only) + * - serial [alias ID] (OF only) + * + * If the port->dev is of struct platform_device type the interrupt line + * will be retrieved via platform_get_irq() call against that device. + * Otherwise it will be assigned by fwnode_irq_get() call. In both cases + * the index 0 of the resource is used. + * + * The caller is responsible to initialize the following fields of the @port + * ->dev (must be valid) + * ->flags + * ->mapbase + * ->mapsize + * ->regshift (if @use_defaults is false) + * before calling this function. Alternatively the above mentioned fields + * may be zeroed, in such case the only ones, that have associated properties + * found, will be set to the respective values. + * + * If no error happened, the ->irq, ->mapbase, ->mapsize will be altered. + * The ->iotype is always altered. + * + * When @use_defaults is true and the respective property is not found + * the following values will be applied: + * ->regshift = 0 + * In this case IRQ must be provided, otherwise an error will be returned. + * + * When @use_defaults is false and the respective property is found + * the following values will be validated: + * - reg-io-width (->iotype) + * - reg-offset (->mapsize against ->mapbase) + * + * Returns: 0 on success or negative errno on failure + */ +static int __uart_read_properties(struct uart_port *port, bool use_defaults) +{ + struct device *dev = port->dev; + u32 value; + int ret; + + /* Read optional UART functional clock frequency */ + device_property_read_u32(dev, "clock-frequency", &port->uartclk); + + /* Read the registers alignment (default: 8-bit) */ + ret = device_property_read_u32(dev, "reg-shift", &value); + if (ret) + port->regshift = use_defaults ? 0 : port->regshift; + else + port->regshift = value; + + /* Read the registers I/O access type (default: MMIO 8-bit) */ + ret = device_property_read_u32(dev, "reg-io-width", &value); + if (ret) { + port->iotype = UPIO_MEM; + } else { + switch (value) { + case 1: + port->iotype = UPIO_MEM; + break; + case 2: + port->iotype = UPIO_MEM16; + break; + case 4: + port->iotype = device_is_big_endian(dev) ? UPIO_MEM32BE : UPIO_MEM32; + break; + default: + if (!use_defaults) { + dev_err(dev, "Unsupported reg-io-width (%u)\n", value); + return -EINVAL; + } + port->iotype = UPIO_UNKNOWN; + break; + } + } + + /* Read the address mapping base offset (default: no offset) */ + ret = device_property_read_u32(dev, "reg-offset", &value); + if (ret) + value = 0; + + /* Check for shifted address mapping overflow */ + if (!use_defaults && port->mapsize < value) { + dev_err(dev, "reg-offset %u exceeds region size %pa\n", value, &port->mapsize); + return -EINVAL; + } + + port->mapbase += value; + port->mapsize -= value; + + /* Read optional FIFO size */ + device_property_read_u32(dev, "fifo-size", &port->fifosize); + + if (device_property_read_bool(dev, "no-loopback-test")) + port->flags |= UPF_SKIP_TEST; + + /* Get index of serial line, if found in DT aliases */ + ret = of_alias_get_id(dev_of_node(dev), "serial"); + if (ret >= 0) + port->line = ret; + + if (dev_is_platform(dev)) + ret = platform_get_irq(to_platform_device(dev), 0); + else + ret = fwnode_irq_get(dev_fwnode(dev), 0); + if (ret == -EPROBE_DEFER) + return ret; + if (ret > 0) + port->irq = ret; + else if (use_defaults) + /* By default IRQ support is mandatory */ + return ret; + else + port->irq = 0; + + port->flags |= UPF_SHARE_IRQ; + + return 0; +} + +int uart_read_port_properties(struct uart_port *port) +{ + return __uart_read_properties(port, true); +} +EXPORT_SYMBOL_GPL(uart_read_port_properties); + +int uart_read_and_validate_port_properties(struct uart_port *port) +{ + return __uart_read_properties(port, false); +} +EXPORT_SYMBOL_GPL(uart_read_and_validate_port_properties); + static struct device_driver serial_port_driver = { .name = "port", .suppress_bind_attrs = true, diff --git a/include/linux/serial_core.h b/include/linux/serial_core.h index c2cf9484014c..c1fd3d2f6238 100644 --- a/include/linux/serial_core.h +++ b/include/linux/serial_core.h @@ -962,6 +962,8 @@ int uart_register_driver(struct uart_driver *uart); void uart_unregister_driver(struct uart_driver *uart); int uart_add_one_port(struct uart_driver *reg, struct uart_port *port); void uart_remove_one_port(struct uart_driver *reg, struct uart_port *port); +int uart_read_port_properties(struct uart_port *port); +int uart_read_and_validate_port_properties(struct uart_port *port); bool uart_match_port(const struct uart_port *port1, const struct uart_port *port2); From patchwork Mon Mar 4 12:27:05 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 209534 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:7301:fa17:b0:10a:f01:a869 with SMTP id ju23csp1408453dyc; Mon, 4 Mar 2024 05:10:38 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCUyHYkCSlBqt0eY/smaCXKocHgEiIZjEmBfwY3fW9HfgTIuh8QHcj/gm+MTkEOdPDT0ddbEGX/gOuWo19X+rDPzIjmd8A== X-Google-Smtp-Source: AGHT+IEwxlFmE/+EPDE9sFVz6XNT1m0ODcd8SdA34oa0VcFZqPf4ZDa0c873feyrg68X8dF13Ege X-Received: by 2002:a05:622a:1456:b0:42e:ee77:8ac1 with SMTP id v22-20020a05622a145600b0042eee778ac1mr3783129qtx.15.1709557836604; Mon, 04 Mar 2024 05:10:36 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1709557836; cv=pass; d=google.com; s=arc-20160816; b=Eu5OtHuAyIIEK0m4iv+bqaBhxYfGMw8Rg8n83jaYA8EFqZLC6puc+A5RLl1A0vdpic UjUrZZ/uVe0gt9oL6ihJVQKICbQ+v6xFaS6SDpNWlqnV/gheM9ctZySvMakay01XkQhI T6rBhYUbnh64lQW5S2xcBBXG/wrOOPAdn+4n6Mdj6iN6bmDK8apCM5eG1Q5aO95XYjpS 43UV6BsHnIY1Ih1dXTSctTh/QuF8pOcUaKyK2+VEsqLzk3upaNiwI13LRXaMF9Y3sIoj 6tVZSR/Kh7b+nW5QklrvlUzusBL2yBxlkNSxWZ9T1c0SyH3PZ4j+le3xI0JPFgAWnnmx 2mAg== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:references:in-reply-to:message-id :date:subject:cc:to:from:dkim-signature; bh=QBXrIOQOFRQTFDLk/8zD/n7Y2ol+L8PGPHAsiVJNd2c=; fh=eibS0BsaUBr9hbqk6h62kqABNizvaE1htIo3O7xuSNA=; b=Zt3pufckvKX3slglbL/eh7aftEoVz/DLzO/WAfOFmnW3ya8EJ1Q1/oumAFGqa+5pJd 6C4rzYZwiWRHBc4hxKQMQkqO5UECtnGWA8sxYeYH7ksNOliHR5gaa1kxbC2u55fa+bpd m7NME84tsvEAkHuKeYpBdYAGW4E9TNSETpYT7C6fai1DpalUqNLg66sJ6LqhEVfEwow/ ZAXAGUDyBmP73YUsxox3h1qfsrdzcnupxjQ1aNZABq/nKftEk5qw4mtg+aQjWlh0Bjjw 0b8Fstteroqev6PSHEPeDAhc5+J8ONOogYUKXzNML5Wzy0HMfQB17TFsxZLMb1/y4mFJ EKyA==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=hofyveDH; arc=pass (i=1 dkim=pass dkdomain=intel.com dmarc=pass fromdomain=linux.intel.com); spf=pass (google.com: domain of linux-kernel+bounces-90569-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-90569-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org. [2604:1380:45d1:ec00::1]) by mx.google.com with ESMTPS id z21-20020a05622a029500b0042ec9b05d21si722279qtw.734.2024.03.04.05.10.36 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 04 Mar 2024 05:10:36 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-90569-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) client-ip=2604:1380:45d1:ec00::1; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=hofyveDH; arc=pass (i=1 dkim=pass dkdomain=intel.com dmarc=pass fromdomain=linux.intel.com); spf=pass (google.com: domain of linux-kernel+bounces-90569-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-90569-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ny.mirrors.kernel.org (Postfix) with ESMTPS id A9D511C21EBF for ; Mon, 4 Mar 2024 12:32:26 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id E498E3FB29; Mon, 4 Mar 2024 12:30:54 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="hofyveDH" Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.12]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 78FF23D572; Mon, 4 Mar 2024 12:30:49 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.12 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709555451; cv=none; b=GoUwdBujqfcu5rZ8jUKdZ7Ini0B7BZDlsqxUzVTCoNhsktO7lJIQx2sV2T1skRMMG8aP5sq1YSyxF24Ib6aHJo5J/3FKHfrHMBDVwdz7Qs531GIcg418VRilP+ITFFsCw3gSWIVIloPhSpVyth7U6pHIwpYsboBIM0dx7PA4Jj4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709555451; c=relaxed/simple; bh=VQzYesoWaSGdzPXgo5CExyTjqg7vEOXbasHg+xkm+2w=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=tdgmiQyHDDY++DDVnap8vki2wygfijCvVB4h+fAhI/bjGp8DvJFZLIeoVIMJaj972dM9yaWINZ4NazFONTgld/DfjQQG6ddv7/mmByUi+3hFfStL/bFjnTRi5RFcWiSgY1ji0aUs3CdaoJCKyiofTJ2IMUj63n0z0YdhZZ84Wlw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com; spf=none smtp.mailfrom=linux.intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=hofyveDH; arc=none smtp.client-ip=192.198.163.12 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=linux.intel.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1709555449; x=1741091449; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=VQzYesoWaSGdzPXgo5CExyTjqg7vEOXbasHg+xkm+2w=; b=hofyveDHIqKQuX1KvwYi3H2OCTxs6pmyCqNrNzp1BI2YlCg5wc7s882I MYbYVxvYd4PMXJxwpX+tyaxVdGH2go8CsBx3nOfWPiE0ZtwASLqlum8mM m4o3aC0B3KYX7xtnmUvbyJ4MHmWzmkoWXuEVJj8qkaIOckwe6guyeWzIn 0yoHtLEI5bKMjsGrlSGyuk6n4E9M+iLusCVtk6A/TbNlSwVxgsiSE5uDK iJO6lSDhyYpSb3KeO+Ck+KGvtaEXwVZ0UqiiKplQU9aCyuD6IHmo5/X5u cHLg1NCcTWmQr5pDyoSnCzi2UCghy0jQlkSH2QACAel/iyrinC5KML+i9 A==; X-IronPort-AV: E=McAfee;i="6600,9927,11002"; a="7815086" X-IronPort-AV: E=Sophos;i="6.06,203,1705392000"; d="scan'208";a="7815086" 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="937040425" X-IronPort-AV: E=Sophos;i="6.06,203,1705392000"; d="scan'208";a="937040425" 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 686C35BB; 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 , Andi Shyti Subject: [PATCH v3 04/14] serial: 8250_aspeed_vuart: Switch to use uart_read_port_properties() Date: Mon, 4 Mar 2024 14:27:05 +0200 Message-ID: <20240304123035.758700-5-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.43.0.rc1.1.gbec44491f096 In-Reply-To: <20240304123035.758700-1-andriy.shevchenko@linux.intel.com> References: <20240304123035.758700-1-andriy.shevchenko@linux.intel.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1792601318071795628 X-GMAIL-MSGID: 1792601318071795628 Since we have now a common helper to read port properties use it instead of sparse home grown solution. Reviewed-by: Andi Shyti Signed-off-by: Andy Shevchenko Reviewed-by: Andrew Jeffery --- drivers/tty/serial/8250/8250_aspeed_vuart.c | 50 +++++++-------------- 1 file changed, 15 insertions(+), 35 deletions(-) diff --git a/drivers/tty/serial/8250/8250_aspeed_vuart.c b/drivers/tty/serial/8250/8250_aspeed_vuart.c index 8c2aaf7af7b7..53d8eee9b1c8 100644 --- a/drivers/tty/serial/8250/8250_aspeed_vuart.c +++ b/drivers/tty/serial/8250/8250_aspeed_vuart.c @@ -419,8 +419,8 @@ static int aspeed_vuart_probe(struct platform_device *pdev) struct aspeed_vuart *vuart; struct device_node *np; struct resource *res; - u32 clk, prop, sirq[2]; int rc, sirq_polarity; + u32 prop, sirq[2]; struct clk *vclk; np = pdev->dev.of_node; @@ -447,53 +447,35 @@ static int aspeed_vuart_probe(struct platform_device *pdev) port.port.status = UPSTAT_SYNC_FIFO; port.port.dev = &pdev->dev; port.port.has_sysrq = IS_ENABLED(CONFIG_SERIAL_8250_CONSOLE); + port.port.flags = UPF_BOOT_AUTOCONF | UPF_IOREMAP | UPF_FIXED_PORT | UPF_FIXED_TYPE | + UPF_NO_THRE_TEST; port.bugs |= UART_BUG_TXRACE; rc = sysfs_create_group(&vuart->dev->kobj, &aspeed_vuart_attr_group); if (rc < 0) return rc; - if (of_property_read_u32(np, "clock-frequency", &clk)) { + rc = uart_read_port_properties(&port.port); + if (rc) + goto err_sysfs_remove; + + /* Get clk rate through clk driver if present */ + if (!port.port.uartclk) { vclk = devm_clk_get_enabled(dev, NULL); if (IS_ERR(vclk)) { rc = dev_err_probe(dev, PTR_ERR(vclk), "clk or clock-frequency not defined\n"); goto err_sysfs_remove; } - clk = clk_get_rate(vclk); + port.port.uartclk = clk_get_rate(vclk); } /* If current-speed was set, then try not to change it. */ if (of_property_read_u32(np, "current-speed", &prop) == 0) - port.port.custom_divisor = clk / (16 * prop); + port.port.custom_divisor = port.port.uartclk / (16 * prop); - /* Check for shifted address mapping */ - if (of_property_read_u32(np, "reg-offset", &prop) == 0) - port.port.mapbase += prop; - - /* Check for registers offset within the devices address range */ - if (of_property_read_u32(np, "reg-shift", &prop) == 0) - port.port.regshift = prop; - - /* Check for fifo size */ - if (of_property_read_u32(np, "fifo-size", &prop) == 0) - port.port.fifosize = prop; - - /* Check for a fixed line number */ - rc = of_alias_get_id(np, "serial"); - if (rc >= 0) - port.port.line = rc; - - port.port.irq = irq_of_parse_and_map(np, 0); port.port.handle_irq = aspeed_vuart_handle_irq; - port.port.iotype = UPIO_MEM; port.port.type = PORT_ASPEED_VUART; - port.port.uartclk = clk; - port.port.flags = UPF_SHARE_IRQ | UPF_BOOT_AUTOCONF | UPF_IOREMAP - | UPF_FIXED_PORT | UPF_FIXED_TYPE | UPF_NO_THRE_TEST; - - if (of_property_read_bool(np, "no-loopback-test")) - port.port.flags |= UPF_SKIP_TEST; if (port.port.fifosize) port.capabilities = UART_CAP_FIFO; @@ -503,7 +485,7 @@ static int aspeed_vuart_probe(struct platform_device *pdev) rc = serial8250_register_8250_port(&port); if (rc < 0) - goto err_clk_disable; + goto err_sysfs_remove; vuart->line = rc; vuart->port = serial8250_get_port(vuart->line); @@ -529,7 +511,7 @@ static int aspeed_vuart_probe(struct platform_device *pdev) rc = aspeed_vuart_set_lpc_address(vuart, prop); if (rc < 0) { dev_err_probe(dev, rc, "invalid value in aspeed,lpc-io-reg property\n"); - goto err_clk_disable; + goto err_sysfs_remove; } rc = of_property_read_u32_array(np, "aspeed,lpc-interrupts", sirq, 2); @@ -541,14 +523,14 @@ static int aspeed_vuart_probe(struct platform_device *pdev) rc = aspeed_vuart_set_sirq(vuart, sirq[0]); if (rc < 0) { dev_err_probe(dev, rc, "invalid sirq number in aspeed,lpc-interrupts property\n"); - goto err_clk_disable; + goto err_sysfs_remove; } sirq_polarity = aspeed_vuart_map_irq_polarity(sirq[1]); if (sirq_polarity < 0) { rc = dev_err_probe(dev, sirq_polarity, "invalid sirq polarity in aspeed,lpc-interrupts property\n"); - goto err_clk_disable; + goto err_sysfs_remove; } aspeed_vuart_set_sirq_polarity(vuart, sirq_polarity); @@ -559,8 +541,6 @@ static int aspeed_vuart_probe(struct platform_device *pdev) return 0; -err_clk_disable: - irq_dispose_mapping(port.port.irq); err_sysfs_remove: sysfs_remove_group(&vuart->dev->kobj, &aspeed_vuart_attr_group); return rc; From patchwork Mon Mar 4 12:27:06 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 209523 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:7301:fa17:b0:10a:f01:a869 with SMTP id ju23csp1388053dyc; Mon, 4 Mar 2024 04:33:19 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCUO+z+Gg/cQvDUnWf2rxfkHEC8Y5Dc3RraKHJvKWv9DtBfH6wPgaLSVBRo/NlHf3MhCU0IjN83F/EMYRPYnf3zuZGybcA== X-Google-Smtp-Source: AGHT+IElQhlJ0k6Pqnd83oxHxD4kZPPoWwLagmLO6EA8FynDRTPAU/k1q7ed0wlD35bqYRL0Cylh X-Received: by 2002:a17:90a:4087:b0:29b:9e1:2fb0 with SMTP id l7-20020a17090a408700b0029b09e12fb0mr11492192pjg.0.1709555598804; Mon, 04 Mar 2024 04:33:18 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1709555598; cv=pass; d=google.com; s=arc-20160816; b=yLBcR9RnPpEFPDti+RRnuVv4Rmg5uGjcSnIqqkTt59ilKm1SXq2QiAneCKz9/xmuUW Sj97LRUX09Jm6S6n4rjUcQmDvJiLSr5C8Hxevlkh9zztSHcPHvAR+UHPR1yl6BHfR1kC 7ThhGDsCJbe8aROjlz5oUhy9rWa/bmMs1X4M2YkPVy9/smz8AFIyU4VKsVZsu3wltfjm dnRK0LgQP22AJh6Xw/DKqTZsuGuH6lbsKmj7zHALRZG6bHmti9RCmo9o7etqwtt+x70l jh3w+voCAhq05G5OPDhANxDg++yjltHjFu3sVxKsCUtmnXQCQNZ2dvLR40jeR3hVNWN0 AKuw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:references:in-reply-to:message-id :date:subject:cc:to:from:dkim-signature; bh=Ep2TKUlvkktVmoPMWQtFfuDnfwh4Zo3N3dkdkhM8Q/c=; fh=ZfFIga6g1z2FD+c6esSANNfr8Qf2hi+vX5vwtK2q0AM=; b=eeELNNlvEo9WonErYAYTiNtn3p75VGk1OPJNVqWqehETBSljN7Da68vYNlR9L7BvjO SpSJifXfzsCErsq+eOEcgMZ5MtaA4BP/CoBnkej9d651hbYICKWGWI/TYhIOLew0pIul 5ydml5vG4HvkJ41W7I7xgEljk3XeLzMf469KdEJKfi4oGSPJlx5/8ggzhRStj7oHsHwo plUIYlXMi8iGAzvSJF6z3SFcg63o1X/oOPtXb//40pprMiwMTzlQamRuzUuslWm7bFjv ce9SRb2WL9JgrVPO3UpZgqW/MZVPvAA4miYY5wwCLHE97Nr2aqWqnyJSFo3kelFwUJu6 +xqQ==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=iuMqMfug; arc=pass (i=1 dkim=pass dkdomain=intel.com dmarc=pass fromdomain=linux.intel.com); spf=pass (google.com: domain of linux-kernel+bounces-90572-ouuuleilei=gmail.com@vger.kernel.org designates 139.178.88.99 as permitted sender) smtp.mailfrom="linux-kernel+bounces-90572-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org. [139.178.88.99]) by mx.google.com with ESMTPS id ip12-20020a17090b314c00b0029b38625853si3539556pjb.120.2024.03.04.04.33.18 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 04 Mar 2024 04:33:18 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-90572-ouuuleilei=gmail.com@vger.kernel.org designates 139.178.88.99 as permitted sender) client-ip=139.178.88.99; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=iuMqMfug; arc=pass (i=1 dkim=pass dkdomain=intel.com dmarc=pass fromdomain=linux.intel.com); spf=pass (google.com: domain of linux-kernel+bounces-90572-ouuuleilei=gmail.com@vger.kernel.org designates 139.178.88.99 as permitted sender) smtp.mailfrom="linux-kernel+bounces-90572-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sv.mirrors.kernel.org (Postfix) with ESMTPS id 95544288F0F for ; Mon, 4 Mar 2024 12:33:17 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 811D645C10; Mon, 4 Mar 2024 12:30:57 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="iuMqMfug" Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.12]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7201827702; Mon, 4 Mar 2024 12:30:51 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.12 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709555453; cv=none; b=EEpoewB0FcWPDbKM1WE5UjYEFLhMGgXXeFYsxOWMi8Pvj8eQbgFNP9P7bTV3GUnMMcIeIEj+9HyXSKXcYMuKXmwYi5rNakZMXR48DQchxva77DcpQFiexaaFt0ZP67/GC50Ut6y1i6Qh0Y/nxS9gOYivOvhYBeE0RJAMGrvqi74= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709555453; c=relaxed/simple; bh=nVEDA7ZUIo9sof6a5P5qPlQ65k7G7XcDNwxgT3ojRHI=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=RVQsaSR752geNd0+023wLc3k6JtKc8b7nnsR1QS2ypRHLMD35mR81iV/qZmdl3HTu8zEgzWTaKM1MOsHaDRtq71p+Z9IqvJwr0ptttd4Rc8AYCZf/NQ7VtDTliLGsGnunTJcOselLUjLMf50KcAsvYEtSk72DRX/CRw8ZOKY2N4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com; spf=none smtp.mailfrom=linux.intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=iuMqMfug; arc=none smtp.client-ip=192.198.163.12 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=linux.intel.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1709555451; x=1741091451; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=nVEDA7ZUIo9sof6a5P5qPlQ65k7G7XcDNwxgT3ojRHI=; b=iuMqMfuglYxfwwqjh5xeViEShZV4s3oyHfs0t+s2l2wFjRV40HEGFjku /SXlCnhm2aaxVaLpX+Ootw96UJchxSck85nFmtiS838z0X/Ac+nfEwwLT juQlKuUnOOBPKmuSpfUZL1wudD3gqF+RM7oX1phPvpTOBtfzc++0x8sjy FNteX5VqpX5lQJWwdJ7wnomC2WIb+8WbEC9aPlTl5aqtylVIvF2t6o9/R 5Qyy32Oytw53lm4HxYBlBNXTuZbIGQXHJ8PAjfLIcXsDk4DSGZQwqY00q S0BVCPwmHgaAvfe9Xos3czcJYDHeKfB4GJIMi4um6NBSNX8TK34PrYTeB w==; X-IronPort-AV: E=McAfee;i="6600,9927,11002"; a="7815114" X-IronPort-AV: E=Sophos;i="6.06,203,1705392000"; d="scan'208";a="7815114" 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:50 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,11002"; a="937040426" X-IronPort-AV: E=Sophos;i="6.06,203,1705392000"; d="scan'208";a="937040426" Received: from black.fi.intel.com ([10.237.72.28]) by fmsmga001.fm.intel.com with ESMTP; 04 Mar 2024 04:30:44 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id 73BFF697; 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 05/14] serial: 8250_bcm2835aux: Switch to use uart_read_port_properties() Date: Mon, 4 Mar 2024 14:27:06 +0200 Message-ID: <20240304123035.758700-6-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.43.0.rc1.1.gbec44491f096 In-Reply-To: <20240304123035.758700-1-andriy.shevchenko@linux.intel.com> References: <20240304123035.758700-1-andriy.shevchenko@linux.intel.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1792598971436615739 X-GMAIL-MSGID: 1792598971436615739 Since we have now a common helper to read port properties use it instead of sparse home grown solution. Signed-off-by: Andy Shevchenko Reviewed-by: Florian Fainelli Tested-by: Florian Fainelli --- drivers/tty/serial/8250/8250_bcm2835aux.c | 92 +++++++++++------------ 1 file changed, 42 insertions(+), 50 deletions(-) diff --git a/drivers/tty/serial/8250/8250_bcm2835aux.c b/drivers/tty/serial/8250/8250_bcm2835aux.c index beac6b340ace..121a5ce86050 100644 --- a/drivers/tty/serial/8250/8250_bcm2835aux.c +++ b/drivers/tty/serial/8250/8250_bcm2835aux.c @@ -45,10 +45,6 @@ struct bcm2835aux_data { u32 cntl; }; -struct bcm2835_aux_serial_driver_data { - resource_size_t offset; -}; - static void bcm2835aux_rs485_start_tx(struct uart_8250_port *up) { if (!(up->port.rs485.flags & SER_RS485_RX_DURING_TX)) { @@ -85,10 +81,9 @@ static void bcm2835aux_rs485_stop_tx(struct uart_8250_port *up) static int bcm2835aux_serial_probe(struct platform_device *pdev) { - const struct bcm2835_aux_serial_driver_data *bcm_data; + const struct software_node *bcm2835_swnode; struct uart_8250_port up = { }; struct bcm2835aux_data *data; - resource_size_t offset = 0; struct resource *res; unsigned int uartclk; int ret; @@ -101,12 +96,8 @@ static int bcm2835aux_serial_probe(struct platform_device *pdev) /* initialize data */ up.capabilities = UART_CAP_FIFO | UART_CAP_MINI; up.port.dev = &pdev->dev; - up.port.regshift = 2; up.port.type = PORT_16550; - up.port.iotype = UPIO_MEM; - up.port.fifosize = 8; - up.port.flags = UPF_SHARE_IRQ | UPF_FIXED_PORT | UPF_FIXED_TYPE | - UPF_SKIP_TEST | UPF_IOREMAP; + up.port.flags = UPF_FIXED_PORT | UPF_FIXED_TYPE | UPF_SKIP_TEST | UPF_IOREMAP; up.port.rs485_config = serial8250_em485_config; up.port.rs485_supported = serial8250_em485_supported; up.rs485_start_tx = bcm2835aux_rs485_start_tx; @@ -122,12 +113,6 @@ static int bcm2835aux_serial_probe(struct platform_device *pdev) if (IS_ERR(data->clk)) return dev_err_probe(&pdev->dev, PTR_ERR(data->clk), "could not get clk\n"); - /* get the interrupt */ - ret = platform_get_irq(pdev, 0); - if (ret < 0) - return ret; - up.port.irq = ret; - /* map the main registers */ res = platform_get_resource(pdev, IORESOURCE_MEM, 0); if (!res) { @@ -135,52 +120,40 @@ static int bcm2835aux_serial_probe(struct platform_device *pdev) return -EINVAL; } - bcm_data = device_get_match_data(&pdev->dev); + up.port.mapbase = res->start; + up.port.mapsize = resource_size(res); - /* Some UEFI implementations (e.g. tianocore/edk2 for the Raspberry Pi) - * describe the miniuart with a base address that encompasses the auxiliary - * registers shared between the miniuart and spi. - * - * This is due to historical reasons, see discussion here : - * https://edk2.groups.io/g/devel/topic/87501357#84349 - * - * We need to add the offset between the miniuart and auxiliary - * registers to get the real miniuart base address. - */ - if (bcm_data) - offset = bcm_data->offset; + bcm2835_swnode = device_get_match_data(&pdev->dev); + if (bcm2835_swnode) { + ret = device_add_software_node(&pdev->dev, bcm2835_swnode); + if (ret) + return ret; + } - up.port.mapbase = res->start + offset; - up.port.mapsize = resource_size(res) - offset; + ret = uart_read_port_properties(&up.port); + if (ret) + goto rm_swnode; - /* Check for a fixed line number */ - ret = of_alias_get_id(pdev->dev.of_node, "serial"); - if (ret >= 0) - up.port.line = ret; + up.port.regshift = 2; + up.port.fifosize = 8; /* enable the clock as a last step */ ret = clk_prepare_enable(data->clk); if (ret) { - dev_err(&pdev->dev, "unable to enable uart clock - %d\n", - ret); - return ret; + dev_err_probe(&pdev->dev, ret, "unable to enable uart clock\n"); + goto rm_swnode; } uartclk = clk_get_rate(data->clk); - if (!uartclk) { - ret = device_property_read_u32(&pdev->dev, "clock-frequency", &uartclk); - if (ret) { - dev_err_probe(&pdev->dev, ret, "could not get clk rate\n"); - goto dis_clk; - } - } + if (uartclk) + up.port.uartclk = uartclk; /* the HW-clock divider for bcm2835aux is 8, * but 8250 expects a divider of 16, * so we have to multiply the actual clock by 2 * to get identical baudrates. */ - up.port.uartclk = uartclk * 2; + up.port.uartclk *= 2; /* register the port */ ret = serial8250_register_8250_port(&up); @@ -194,6 +167,8 @@ static int bcm2835aux_serial_probe(struct platform_device *pdev) dis_clk: clk_disable_unprepare(data->clk); +rm_swnode: + device_remove_software_node(&pdev->dev); return ret; } @@ -203,10 +178,27 @@ static void bcm2835aux_serial_remove(struct platform_device *pdev) serial8250_unregister_port(data->line); clk_disable_unprepare(data->clk); + device_remove_software_node(&pdev->dev); } -static const struct bcm2835_aux_serial_driver_data bcm2835_acpi_data = { - .offset = 0x40, +/* + * Some UEFI implementations (e.g. tianocore/edk2 for the Raspberry Pi) + * describe the miniuart with a base address that encompasses the auxiliary + * registers shared between the miniuart and spi. + * + * This is due to historical reasons, see discussion here: + * https://edk2.groups.io/g/devel/topic/87501357#84349 + * + * We need to add the offset between the miniuart and auxiliary registers + * to get the real miniuart base address. + */ +static const struct property_entry bcm2835_acpi_properties[] = { + PROPERTY_ENTRY_U32("reg-offset", 0x40), + { } +}; + +static const struct software_node bcm2835_acpi_node = { + .properties = bcm2835_acpi_properties, }; static const struct of_device_id bcm2835aux_serial_match[] = { @@ -216,7 +208,7 @@ static const struct of_device_id bcm2835aux_serial_match[] = { MODULE_DEVICE_TABLE(of, bcm2835aux_serial_match); static const struct acpi_device_id bcm2835aux_serial_acpi_match[] = { - { "BCM2836", (kernel_ulong_t)&bcm2835_acpi_data }, + { "BCM2836", (kernel_ulong_t)&bcm2835_acpi_node }, { } }; MODULE_DEVICE_TABLE(acpi, bcm2835aux_serial_acpi_match); From patchwork Mon Mar 4 12:27:07 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 209569 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:7301:fa17:b0:10a:f01:a869 with SMTP id ju23csp1476202dyc; Mon, 4 Mar 2024 07:02:28 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCXOqacFoezjNoctzBgbr2VOx3PKSiiwVJWJcTmQgrTYPlFG/K0G7BBpZGSOkeSu5OHXSp/XxBYcBqfMVsOYQpmz6VEOEQ== X-Google-Smtp-Source: AGHT+IFdTzwStpWDstsZlP9wptdQFxNf4SC16RAb3ythI0ynxl6Y7Fq1bD+h3qA2gx2rBwYk2fx1 X-Received: by 2002:ac2:46f4:0:b0:512:e220:d3ab with SMTP id q20-20020ac246f4000000b00512e220d3abmr5314272lfo.65.1709564548028; Mon, 04 Mar 2024 07:02:28 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1709564547; cv=pass; d=google.com; s=arc-20160816; b=sTPJLc1gtpAcSu51HpdotwoOIfwH8GYgVSmnbyaNLhlDg8mGMXizKlhWTvurta7u// pitA2udvcOODjJz/iZoVSSHxLWCODn4hQgXoH+kjcyJb9cI1vPuLtH607F+ylhTGbH69 x1ifcu7x1VMz4dhEjXqCtSO9PYNzopFD9r2X32t6JwdWvfvEDl/N9+NYxQKkwJWuKibh bMSN3HqzZFHh5mPifqRuAR3PKBg5sgLEerV8WBudS6SJTu6JHaYn7T9iC4AsDw7VzEqj soddGRLVTjeseUYDJivtl+fP65XU8d2XWGtDqWSPx4Ycx6WU2XjbXb/aAoyH5HjTf0eB QYPA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:references:in-reply-to:message-id :date:subject:cc:to:from:dkim-signature; bh=shw4BRAIzzZuGqv8LObp2xSToAd5PRT1BXWYIB767bk=; fh=ZfFIga6g1z2FD+c6esSANNfr8Qf2hi+vX5vwtK2q0AM=; b=zIvna6DMCeufraowGrJt29gHtU1z/ieMezdTBOBRIc3fYCmktO6OX4LNy53CStTlEI dYf2jF8WA7d47cWFBPuuHeN2QhRck8rS2FvW7eMtjMlWle9n5xuQ4b6WWs8lxdzKouVo viBm1k5agzkrEzNNn+YS1HktDsRtl66wA1DY51D7SOU1uMspjsdioPDwMBi5yHkxPDif aqLtoJ2IoDXp3vDP0Kog+yyvjC2EPfJhZiLlwTdOvFTnEetnu+FqJHlNcBCB5rEhrxML fNLQ7BsIKBcbng6KyH1Ave3UMMwdKPwrAQmkiNdua3A2mFk5BEcaWDAvbALINaCdH8sH JWGg==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=UY3J6dqC; arc=pass (i=1 dkim=pass dkdomain=intel.com dmarc=pass fromdomain=linux.intel.com); spf=pass (google.com: domain of linux-kernel+bounces-90575-ouuuleilei=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) smtp.mailfrom="linux-kernel+bounces-90575-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from am.mirrors.kernel.org (am.mirrors.kernel.org. [147.75.80.249]) by mx.google.com with ESMTPS id w17-20020a05640234d100b0056454c5a90bsi4052630edc.106.2024.03.04.07.02.27 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 04 Mar 2024 07:02:27 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-90575-ouuuleilei=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) client-ip=147.75.80.249; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=UY3J6dqC; arc=pass (i=1 dkim=pass dkdomain=intel.com dmarc=pass fromdomain=linux.intel.com); spf=pass (google.com: domain of linux-kernel+bounces-90575-ouuuleilei=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) smtp.mailfrom="linux-kernel+bounces-90575-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by am.mirrors.kernel.org (Postfix) with ESMTPS id 57C7C1F25F7E for ; Mon, 4 Mar 2024 12:33:53 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 09D3047F73; Mon, 4 Mar 2024 12:30:59 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="UY3J6dqC" Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.12]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 935393F9D3; Mon, 4 Mar 2024 12:30:53 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.12 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709555455; cv=none; b=fozjaEy023H3WYgAzIQSk76MHA/GCuvtYImlS3mmWKS3y52Aw/W/uWbQi2WNzkN162ZZzPZhGEzBPdVnPMP52OXIXZT7JUa21MtqeKnL1dKHGdxVMQNY5MzXljv2+9HFHhoe/Fwn4T2jyvpqkCHF0XXffSE+4IqXnOeUtVaQG1M= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709555455; c=relaxed/simple; bh=SzQIkG/284NbMg3wo1c8q5FeA364sZ6TEiiECx0F2ig=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=MAOcb1S91rExkjJo6VJwE3zZotGY09/7ivhpCHo12ZPJBhlOKFV/NDVbnJ9n1hXLukXwffqtlEOZG8JL2/IIFMr1azkXUa1FlwUOT/EqI35TUYLtZ/1Os6NQNP7JKls18JJKaCQ7CzYm0SrHVzZUpA/e/aIPO3uPGq60gkKt2nE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com; spf=none smtp.mailfrom=linux.intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=UY3J6dqC; arc=none smtp.client-ip=192.198.163.12 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=linux.intel.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1709555454; x=1741091454; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=SzQIkG/284NbMg3wo1c8q5FeA364sZ6TEiiECx0F2ig=; b=UY3J6dqCz6rx9HLKNyG6XsJnkzPo3KpPjMwlVk0WrRf1rSqlvLt6lkF6 dl6n7yyf2K65jBLKI+uDs6BZKvAT9XO1LMCErRXPiuUGQayNT6p4oQAEV jDN/n9a75QxplajXFGAWOZ9QO6Lhq9xnjFrfz+KerVuLt7Ql31xSbI8vg vHf90MJuFI5QghUXu89TE4REvTEyB9yszQpYlVaO2S6GWrqP6eDPjU4aC vxyaL3gfkYRq3UoRn48ujvf0cIo3Pj7aV4uRZCqMkVE+nZpva2xg47QK6 qMR/yjjRG3CnueL6iaVTQq/ZOdwSrZT6/HM8YsJnfFYFDHrKRYdOPwED0 Q==; X-IronPort-AV: E=McAfee;i="6600,9927,11002"; a="7815169" X-IronPort-AV: E=Sophos;i="6.06,203,1705392000"; d="scan'208";a="7815169" 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:51 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,11002"; a="937040427" X-IronPort-AV: E=Sophos;i="6.06,203,1705392000"; d="scan'208";a="937040427" Received: from black.fi.intel.com ([10.237.72.28]) by fmsmga001.fm.intel.com with ESMTP; 04 Mar 2024 04:30:44 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id 7D90E6FE; 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 06/14] serial: 8250_bcm7271: Switch to use uart_read_port_properties() Date: Mon, 4 Mar 2024 14:27:07 +0200 Message-ID: <20240304123035.758700-7-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.43.0.rc1.1.gbec44491f096 In-Reply-To: <20240304123035.758700-1-andriy.shevchenko@linux.intel.com> References: <20240304123035.758700-1-andriy.shevchenko@linux.intel.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1792608355387496647 X-GMAIL-MSGID: 1792608355387496647 Since we have now a common helper to read port properties use it instead of sparse home grown solution. Signed-off-by: Andy Shevchenko Reviewed-by: Florian Fainelli Tested-by: Florian Fainelli --- drivers/tty/serial/8250/8250_bcm7271.c | 56 +++++++++----------------- 1 file changed, 19 insertions(+), 37 deletions(-) diff --git a/drivers/tty/serial/8250/8250_bcm7271.c b/drivers/tty/serial/8250/8250_bcm7271.c index 1532fa2e8ec4..5daa38d9c64e 100644 --- a/drivers/tty/serial/8250/8250_bcm7271.c +++ b/drivers/tty/serial/8250/8250_bcm7271.c @@ -935,17 +935,14 @@ static void brcmuart_init_debugfs(struct brcmuart_priv *priv, static int brcmuart_probe(struct platform_device *pdev) { struct resource *regs; - struct device_node *np = pdev->dev.of_node; const struct of_device_id *of_id = NULL; struct uart_8250_port *new_port; struct device *dev = &pdev->dev; struct brcmuart_priv *priv; struct clk *baud_mux_clk; struct uart_8250_port up; - int irq; void __iomem *membase = NULL; resource_size_t mapbase = 0; - u32 clk_rate = 0; int ret; int x; int dma_irq; @@ -953,15 +950,12 @@ static int brcmuart_probe(struct platform_device *pdev) "uart", "dma_rx", "dma_tx", "dma_intr2", "dma_arb" }; - irq = platform_get_irq(pdev, 0); - if (irq < 0) - return irq; priv = devm_kzalloc(dev, sizeof(struct brcmuart_priv), GFP_KERNEL); if (!priv) return -ENOMEM; - of_id = of_match_node(brcmuart_dt_ids, np); + of_id = of_match_node(brcmuart_dt_ids, dev->of_node); if (!of_id || !of_id->data) priv->rate_table = brcmstb_rate_table; else @@ -1011,7 +1005,23 @@ static int brcmuart_probe(struct platform_device *pdev) } } - of_property_read_u32(np, "clock-frequency", &clk_rate); + dev_dbg(dev, "DMA is %senabled\n", priv->dma_enabled ? "" : "not "); + + memset(&up, 0, sizeof(up)); + up.port.type = PORT_BCM7271; + up.port.dev = dev; + up.port.mapbase = mapbase; + up.port.membase = membase; + up.port.handle_irq = brcmuart_handle_irq; + up.port.flags = UPF_BOOT_AUTOCONF | UPF_FIXED_PORT | UPF_FIXED_TYPE; + up.port.private_data = priv; + + ret = uart_read_port_properties(&up.port); + if (ret) + goto release_dma; + + up.port.regshift = 2; + up.port.iotype = device_is_big_endian(dev) ? UPIO_MEM32BE : UPIO_MEM32; /* See if a Baud clock has been specified */ baud_mux_clk = devm_clk_get_optional_enabled(dev, "sw_baud"); @@ -1023,39 +1033,11 @@ static int brcmuart_probe(struct platform_device *pdev) priv->baud_mux_clk = baud_mux_clk; init_real_clk_rates(dev, priv); - clk_rate = priv->default_mux_rate; + up.port.uartclk = priv->default_mux_rate; } else { dev_dbg(dev, "BAUD MUX clock not specified\n"); } - if (clk_rate == 0) { - ret = dev_err_probe(dev, -EINVAL, "clock-frequency or clk not defined\n"); - goto release_dma; - } - - dev_dbg(dev, "DMA is %senabled\n", priv->dma_enabled ? "" : "not "); - - memset(&up, 0, sizeof(up)); - up.port.type = PORT_BCM7271; - up.port.uartclk = clk_rate; - up.port.dev = dev; - up.port.mapbase = mapbase; - up.port.membase = membase; - up.port.irq = irq; - up.port.handle_irq = brcmuart_handle_irq; - up.port.regshift = 2; - up.port.iotype = of_device_is_big_endian(np) ? - UPIO_MEM32BE : UPIO_MEM32; - up.port.flags = UPF_SHARE_IRQ | UPF_BOOT_AUTOCONF - | UPF_FIXED_PORT | UPF_FIXED_TYPE; - up.port.dev = dev; - up.port.private_data = priv; - - /* Check for a fixed line number */ - ret = of_alias_get_id(np, "serial"); - if (ret >= 0) - up.port.line = ret; - /* setup HR timer */ hrtimer_init(&priv->hrt, CLOCK_MONOTONIC, HRTIMER_MODE_ABS); priv->hrt.function = brcmuart_hrtimer_func; From patchwork Mon Mar 4 12:27:08 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 209550 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:7301:fa17:b0:10a:f01:a869 with SMTP id ju23csp1431079dyc; Mon, 4 Mar 2024 05:51:15 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCVyaQzs8YJFIM9mDECCz5DV6G1KdAHJVpZeD7CNT/TebyfKDODh0S6nIxVb9CatLp8S7UjoHjfTNWdGtJBSZwX4knRhIw== X-Google-Smtp-Source: AGHT+IEGABC+HSrZNigWuQdhqfCEkiR8xkxVqKjk2Uy2UwJeGXa/A2vixFagQM7VgKMoYi8bbhzG X-Received: by 2002:a05:620a:4095:b0:788:2c43:4fb with SMTP id f21-20020a05620a409500b007882c4304fbmr2158474qko.26.1709560275215; Mon, 04 Mar 2024 05:51:15 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1709560275; cv=pass; d=google.com; s=arc-20160816; b=Ha3eS9nITznHXiqssgIeAfwbUxux21DFNbsCbhABbFV8b2VhXWJ/uQ+BYEhw32Wgur P8OH0fZEukAIrxE529Y/5yeJGLvc9j5AmFj9sThtleRnrBlEsi7f+x0eg0PNRfB2LSUQ ljmKBQEbBlG4zZSM74E4Dqs8AmpKCAA7xR37OpctURQGYd+uVMN5BhC6BGOXOA3Lmw2R BRJLnd829zjaElxj+ty45AHgbJBoVQJQiQYB1tRUoUeT638j0j4uKwsLseML9ghviZPu G58SFZxSvZkWCgSXQRS7XiudXog5/ENXifFSRaH2LJs0RtypOboVv8s77ZPpKAba25YV DzgA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:references:in-reply-to:message-id :date:subject:cc:to:from:dkim-signature; bh=FevaNibQ/+/o8v14YpFAcIbLUQFw3UUlFJihSciB/PE=; fh=eibS0BsaUBr9hbqk6h62kqABNizvaE1htIo3O7xuSNA=; b=C7Y9963Tai0YBMFTwgbCS3AjsAbHR2FUaTuEC0GUIRNhxU1OFq2MGsxc8i99qnC/Qb cajKsYiI8ZY9u7FzLTW0xMYNHvY923Du+PsJ/XgAMgJcPGnZ9BEm+gsUD1tjjiywh8Dt QCggkEEsvSon2bi0zztnN5MOdb+5prHz6fbk1ikUPXDw4D3EWqaAgGggzBzuhePkd3JJ nBWn0cgVjAhBxCBTQU5tCofEi3OYLZJD5cGYhzuH6HoeW6JcWps1kEHy9zWYeeDp/ejz y9MlKozK9Xul0V4AoHinn5NK7v+MstO/sB2GIfgk8kiIull/hBQckvbgvKZnhTHRU//4 7Uvg==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=nDO8QnqF; arc=pass (i=1 dkim=pass dkdomain=intel.com dmarc=pass fromdomain=linux.intel.com); spf=pass (google.com: domain of linux-kernel+bounces-90576-ouuuleilei=gmail.com@vger.kernel.org designates 147.75.199.223 as permitted sender) smtp.mailfrom="linux-kernel+bounces-90576-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org. [147.75.199.223]) by mx.google.com with ESMTPS id p11-20020a05620a22eb00b007882ac96db5si1620545qki.725.2024.03.04.05.51.15 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 04 Mar 2024 05:51:15 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-90576-ouuuleilei=gmail.com@vger.kernel.org designates 147.75.199.223 as permitted sender) client-ip=147.75.199.223; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=nDO8QnqF; arc=pass (i=1 dkim=pass dkdomain=intel.com dmarc=pass fromdomain=linux.intel.com); spf=pass (google.com: domain of linux-kernel+bounces-90576-ouuuleilei=gmail.com@vger.kernel.org designates 147.75.199.223 as permitted sender) smtp.mailfrom="linux-kernel+bounces-90576-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ny.mirrors.kernel.org (Postfix) with ESMTPS id 180BA1C235C2 for ; Mon, 4 Mar 2024 12:34:11 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id E8554482FA; Mon, 4 Mar 2024 12:30:59 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="nDO8QnqF" Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.12]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 474083D0C2; Mon, 4 Mar 2024 12:30:54 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.12 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709555456; cv=none; b=gxtrL896bJynmffFpEvVjfbheZECqGUpSut7W5j+hs0KIHZGo66wwNrpT+XPpUYE3esF8VO0Ahs7pdOtBblQQSDyllI2FaM8/DzHF3wAQ9igzdgplR/ACab4R9wXmP+GxS2M/Sojy9xy7NyW34eLDF05ei4Lbw1h8/sv7qXos8E= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709555456; c=relaxed/simple; bh=Vh79SKc7Xot2gwdWX8j3CI/Ule7vHc6mMwS3nDowqaI=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=he0v4pAOjD4JWWyZNWfu2jV6ZPQhuQ/sCGIPY6lgTj1gGx8ygiULbTms+hhX2dVZO2Nmvv6CH66gSxbqbpY4NvYq9EJKVZqQxURMdkf5jgQW0zGqi9tND/Wj5Bb6WH6jOqIK7ESPc5sLK+RBgYbgdHmisRl2DosxJ5tOYMj3M8U= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com; spf=none smtp.mailfrom=linux.intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=nDO8QnqF; arc=none smtp.client-ip=192.198.163.12 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=linux.intel.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1709555454; x=1741091454; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=Vh79SKc7Xot2gwdWX8j3CI/Ule7vHc6mMwS3nDowqaI=; b=nDO8QnqFiIJjNEjtGj0VtnNAbvYFQ1fDiDTJXde2Ii4MSrhOqtxLZLb4 QkGo3pymjfxT/9EV9UUbxlBmyhHdzQXdL0ELE55nhIcAhEFz7C2wD/Rki tFwIGdfuEWm/3slQH+zlq12W4tSpo0VaAd8ZxzM3k6ytIY5WOoiSqqjHP zhA+G9UNP57sa+ViMnX5i1elEFNISOyG9thlZysh4feIppeWaNjXFS6kD GeUs2ATjqhSgdTOUea9y1+TOavrSG9gFD95vF7TKAVHSXvIBCIYw3+vIc nTJDUNtLMnEC9inB2VbdNoSIcKQQ8RYPEP7TGqPShWD0PPfJCFN8B8MWq Q==; X-IronPort-AV: E=McAfee;i="6600,9927,11002"; a="7815189" X-IronPort-AV: E=Sophos;i="6.06,203,1705392000"; d="scan'208";a="7815189" 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:51 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,11002"; a="937040428" X-IronPort-AV: E=Sophos;i="6.06,203,1705392000"; d="scan'208";a="937040428" Received: from black.fi.intel.com ([10.237.72.28]) by fmsmga001.fm.intel.com with ESMTP; 04 Mar 2024 04:30:44 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id 89F8674C; 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 , Andi Shyti Subject: [PATCH v3 07/14] serial: 8250_dw: Switch to use uart_read_port_properties() Date: Mon, 4 Mar 2024 14:27:08 +0200 Message-ID: <20240304123035.758700-8-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.43.0.rc1.1.gbec44491f096 In-Reply-To: <20240304123035.758700-1-andriy.shevchenko@linux.intel.com> References: <20240304123035.758700-1-andriy.shevchenko@linux.intel.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1792603874898240124 X-GMAIL-MSGID: 1792603874898240124 Since we have now a common helper to read port properties use it instead of sparse home grown solution. Reviewed-by: Andi Shyti Signed-off-by: Andy Shevchenko --- drivers/tty/serial/8250/8250_dw.c | 67 +++++++++++++------------------ 1 file changed, 27 insertions(+), 40 deletions(-) diff --git a/drivers/tty/serial/8250/8250_dw.c b/drivers/tty/serial/8250/8250_dw.c index 062718615944..9ac4be748596 100644 --- a/drivers/tty/serial/8250/8250_dw.c +++ b/drivers/tty/serial/8250/8250_dw.c @@ -17,7 +17,6 @@ #include #include #include -#include #include #include #include @@ -449,12 +448,7 @@ static void dw8250_quirks(struct uart_port *p, struct dw8250_data *data) if (np) { unsigned int quirks = data->pdata->quirks; - int id; - /* get index of serial line, if found in DT aliases */ - id = of_alias_get_id(np, "serial"); - if (id >= 0) - p->line = id; #ifdef CONFIG_64BIT if (quirks & DW_UART_QUIRK_OCTEON) { p->serial_in = dw8250_serial_inq; @@ -465,12 +459,6 @@ static void dw8250_quirks(struct uart_port *p, struct dw8250_data *data) } #endif - if (of_device_is_big_endian(np)) { - p->iotype = UPIO_MEM32BE; - p->serial_in = dw8250_serial_in32be; - p->serial_out = dw8250_serial_out32be; - } - if (quirks & DW_UART_QUIRK_ARMADA_38X) p->serial_out = dw8250_serial_out38x; if (quirks & DW_UART_QUIRK_SKIP_SET_RATE) @@ -510,39 +498,21 @@ static int dw8250_probe(struct platform_device *pdev) struct device *dev = &pdev->dev; struct dw8250_data *data; struct resource *regs; - int irq; int err; - u32 val; regs = platform_get_resource(pdev, IORESOURCE_MEM, 0); if (!regs) return dev_err_probe(dev, -EINVAL, "no registers defined\n"); - irq = platform_get_irq_optional(pdev, 0); - /* no interrupt -> fall back to polling */ - if (irq == -ENXIO) - irq = 0; - if (irq < 0) - return irq; - spin_lock_init(&p->lock); - p->mapbase = regs->start; - p->irq = irq; p->handle_irq = dw8250_handle_irq; p->pm = dw8250_do_pm; p->type = PORT_8250; - p->flags = UPF_SHARE_IRQ | UPF_FIXED_PORT; + p->flags = UPF_FIXED_PORT; p->dev = dev; - p->iotype = UPIO_MEM; - p->serial_in = dw8250_serial_in; - p->serial_out = dw8250_serial_out; p->set_ldisc = dw8250_set_ldisc; p->set_termios = dw8250_set_termios; - p->membase = devm_ioremap(dev, regs->start, resource_size(regs)); - if (!p->membase) - return -ENOMEM; - data = devm_kzalloc(dev, sizeof(*data), GFP_KERNEL); if (!data) return -ENOMEM; @@ -554,15 +524,35 @@ static int dw8250_probe(struct platform_device *pdev) data->uart_16550_compatible = device_property_read_bool(dev, "snps,uart-16550-compatible"); - err = device_property_read_u32(dev, "reg-shift", &val); - if (!err) - p->regshift = val; + p->mapbase = regs->start; + p->mapsize = resource_size(regs); - err = device_property_read_u32(dev, "reg-io-width", &val); - if (!err && val == 4) { - p->iotype = UPIO_MEM32; + p->membase = devm_ioremap(dev, p->mapbase, p->mapsize); + if (!p->membase) + return -ENOMEM; + + err = uart_read_port_properties(p); + /* no interrupt -> fall back to polling */ + if (err == -ENXIO) + err = 0; + if (err) + return err; + + switch (p->iotype) { + case UPIO_MEM: + p->serial_in = dw8250_serial_in; + p->serial_out = dw8250_serial_out; + break; + case UPIO_MEM32: p->serial_in = dw8250_serial_in32; p->serial_out = dw8250_serial_out32; + break; + case UPIO_MEM32BE: + p->serial_in = dw8250_serial_in32be; + p->serial_out = dw8250_serial_out32be; + break; + default: + return -ENODEV; } if (device_property_read_bool(dev, "dcd-override")) { @@ -589,9 +579,6 @@ static int dw8250_probe(struct platform_device *pdev) data->msr_mask_off |= UART_MSR_TERI; } - /* Always ask for fixed clock rate from a property. */ - device_property_read_u32(dev, "clock-frequency", &p->uartclk); - /* If there is separate baudclk, get the rate from it. */ data->clk = devm_clk_get_optional_enabled(dev, "baudclk"); if (data->clk == NULL) From patchwork Mon Mar 4 12:27:09 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 209568 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:7301:fa17:b0:10a:f01:a869 with SMTP id ju23csp1476134dyc; Mon, 4 Mar 2024 07:02:23 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCUM/QtS8ZvCsgxaA8ASf9VIiDAmoCjshFmPtg2ab2Hx4tsKiSmPWQBCc1IybMXf6nUUpfBE8AQm1a3WqMsddgn2YEqzvw== X-Google-Smtp-Source: AGHT+IH1up5I932SOnkh66WZ9rS4+pvOcZQtKfGWkqf02DM+GxEKojX6K4jZqBF7zggZglX4Bqco X-Received: by 2002:a17:906:33c6:b0:a45:8ded:9a47 with SMTP id w6-20020a17090633c600b00a458ded9a47mr225490eja.33.1709564543045; Mon, 04 Mar 2024 07:02:23 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1709564543; cv=pass; d=google.com; s=arc-20160816; b=rkh8hJA9ZALNdC+ra38DNrHzNoaKhW3sjSW0uj8POIBqdEbMAu38nYnHvZ1QotiUvh p+Xt0wluCkW+wqCpiRq8csNNDLJCvW1Yv7O0+2J3YDGJNEziBm41M2MxbeTpuvQjXu2w Q01iGaGjavutc6KCQY6aWytEKtM5zpu9j42Q0c+4a8Bu32SIP0Jjn1k+PBPN8+6KP56Y uuwa6kWmMXkLNJofeiaubTmbywy2kU7YYr92STf+x2CpDbJUIrCpYmXqaGbkchOmwjQe Y1qMyiAJTCZk7O/jwthQE4x3CB40y9SYr3mHxf0iOlhmxhOj+vFc7bOOtbIyc+eprdly H2pQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:references:in-reply-to:message-id :date:subject:cc:to:from:dkim-signature; bh=KN2826+qtMszXUwmKjIxvHmJfKA8Y17Liq2AJKuGV6c=; fh=ZfFIga6g1z2FD+c6esSANNfr8Qf2hi+vX5vwtK2q0AM=; b=chvaHHPaZloZFZAJeD+aC+XuHOeSYs5uv7g5i1ekBeTDoqGQVZS7gsTEKRM9i+p0v7 dcWdirlraGt6Kgfu5VtVeUGKfbYNvYGBmQNDQNDT+e+/ukgCKdChBGSv209J7Voy94Wd TLjcv3eSJW58LkFq+UmtePHoZqHb2XbohZBFHREBv/AAtEq6Mr83vFDYZt+QLKFroqAv 9K6hiRaRiumxj5de4pD3fqCFgsLmQ3fJMmFKXMYbHOj30WJLRZWFS8X+bTiOYvpyN55J iS6V90bvDfxOgsCbUoBmEvpZinV+5NbHJKoc//yRuunach792iKKCo3hjxzVgiHy7tlF /w5w==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=EOJfvzA2; arc=pass (i=1 dkim=pass dkdomain=intel.com dmarc=pass fromdomain=linux.intel.com); spf=pass (google.com: domain of linux-kernel+bounces-90574-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:4601:e00::3 as permitted sender) smtp.mailfrom="linux-kernel+bounces-90574-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from am.mirrors.kernel.org (am.mirrors.kernel.org. [2604:1380:4601:e00::3]) by mx.google.com with ESMTPS id h23-20020a170906719700b00a44f9babcd6si1793052ejk.564.2024.03.04.07.02.22 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 04 Mar 2024 07:02:23 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-90574-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:4601:e00::3 as permitted sender) client-ip=2604:1380:4601:e00::3; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=EOJfvzA2; arc=pass (i=1 dkim=pass dkdomain=intel.com dmarc=pass fromdomain=linux.intel.com); spf=pass (google.com: domain of linux-kernel+bounces-90574-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:4601:e00::3 as permitted sender) smtp.mailfrom="linux-kernel+bounces-90574-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by am.mirrors.kernel.org (Postfix) with ESMTPS id 00A371F25D5D for ; Mon, 4 Mar 2024 12:33:20 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 994BD46424; Mon, 4 Mar 2024 12:30:57 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="EOJfvzA2" Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.12]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id AF3DC3F8D4; Mon, 4 Mar 2024 12:30:52 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.12 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709555454; cv=none; b=o2RlS5F/zsUWySODBZ7wYpCWLmPlDLxaPQJY19MXcTz5XaKUU6YV07jY2eu4g+27lFVbCbcz7xUxWa2zQ3sDfuMY86ljIyIh4abmrqZ7fLnEFKG4Igin97tbh+EUbesf0dDx1nRrsyJTNw2oMVb0yRgnO1bKPdpH2Kq3NHbGY4I= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709555454; c=relaxed/simple; bh=1/GZYwB2nWuo6C2AG168sBjhMZ3npUtIfk/z9EbJyZg=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=RKP4w5QnnF96yaN6oQNHjF0TAzcFSgCcA8PrgCnwV1e2VBILSOXb9Fwz1uPIGKUunRfEm/M4HTbKSVUw8tqX6oEsx8jJvcy4uiVpdJaMQoCsSMfBUD0iNd9SAZqxBK3LWfntaAwpAuklC7DJmwEamL1qTUoWqujQiJOOI3S6QBo= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com; spf=none smtp.mailfrom=linux.intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=EOJfvzA2; arc=none smtp.client-ip=192.198.163.12 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=linux.intel.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1709555453; x=1741091453; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=1/GZYwB2nWuo6C2AG168sBjhMZ3npUtIfk/z9EbJyZg=; b=EOJfvzA2oAS6olVyFI8zkwSUo60bV1MW9mGcRYxkHJQ6iSIrL4DDutb4 Kri4uG2yPrbAtx/wwB0V4f+902NpflqblVSdI86CPp8teuOQiaA0PzXGz ehJMcgOIEJNNEwocQlgpZdionhVPqxfsggAahxGgImhcdRLNSXOnu2h0w mOlA7m6NrAchAmJ6sI7qk72oZntAajDG2I4/FUpU/6VFRv2F1UhnJ6tH1 DqkWHeMCMSRqt1KLtHZBXOmenQaEc25TjuUC0HzHjPrui+PYbTDBGU7kM +pUfApMqjdxYkRQl8q4CLRB3fVRHsrpaKnkW/aXCZvDyGZkk43vQN1L99 w==; X-IronPort-AV: E=McAfee;i="6600,9927,11002"; a="7815152" X-IronPort-AV: E=Sophos;i="6.06,203,1705392000"; d="scan'208";a="7815152" 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:51 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,11002"; a="937040429" X-IronPort-AV: E=Sophos;i="6.06,203,1705392000"; d="scan'208";a="937040429" Received: from black.fi.intel.com ([10.237.72.28]) by fmsmga001.fm.intel.com with ESMTP; 04 Mar 2024 04:30:44 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id 95B56799; 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 08/14] serial: 8250_ingenic: Switch to use uart_read_port_properties() Date: Mon, 4 Mar 2024 14:27:09 +0200 Message-ID: <20240304123035.758700-9-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.43.0.rc1.1.gbec44491f096 In-Reply-To: <20240304123035.758700-1-andriy.shevchenko@linux.intel.com> References: <20240304123035.758700-1-andriy.shevchenko@linux.intel.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1792608350447786143 X-GMAIL-MSGID: 1792608350447786143 Since we have now a common helper to read port properties use it instead of sparse home grown solution. Signed-off-by: Andy Shevchenko --- drivers/tty/serial/8250/8250_ingenic.c | 20 +++++++------------- 1 file changed, 7 insertions(+), 13 deletions(-) diff --git a/drivers/tty/serial/8250/8250_ingenic.c b/drivers/tty/serial/8250/8250_ingenic.c index a12f737924c0..a2783e38a2e3 100644 --- a/drivers/tty/serial/8250/8250_ingenic.c +++ b/drivers/tty/serial/8250/8250_ingenic.c @@ -234,7 +234,7 @@ static int ingenic_uart_probe(struct platform_device *pdev) struct ingenic_uart_data *data; const struct ingenic_uart_config *cdata; struct resource *regs; - int irq, err, line; + int err; cdata = of_device_get_match_data(&pdev->dev); if (!cdata) { @@ -242,10 +242,6 @@ static int ingenic_uart_probe(struct platform_device *pdev) return -ENODEV; } - irq = platform_get_irq(pdev, 0); - if (irq < 0) - return irq; - regs = platform_get_resource(pdev, IORESOURCE_MEM, 0); if (!regs) { dev_err(&pdev->dev, "no registers defined\n"); @@ -259,21 +255,19 @@ static int ingenic_uart_probe(struct platform_device *pdev) spin_lock_init(&uart.port.lock); uart.port.type = PORT_16550A; uart.port.flags = UPF_SKIP_TEST | UPF_IOREMAP | UPF_FIXED_TYPE; - uart.port.iotype = UPIO_MEM; uart.port.mapbase = regs->start; - uart.port.regshift = 2; uart.port.serial_out = ingenic_uart_serial_out; uart.port.serial_in = ingenic_uart_serial_in; - uart.port.irq = irq; uart.port.dev = &pdev->dev; - uart.port.fifosize = cdata->fifosize; uart.tx_loadsz = cdata->tx_loadsz; uart.capabilities = UART_CAP_FIFO | UART_CAP_RTOIE; - /* Check for a fixed line number */ - line = of_alias_get_id(pdev->dev.of_node, "serial"); - if (line >= 0) - uart.port.line = line; + err = uart_read_port_properties(&uart.port); + if (err) + return err; + + uart.port.regshift = 2; + uart.port.fifosize = cdata->fifosize; uart.port.membase = devm_ioremap(&pdev->dev, regs->start, resource_size(regs)); From patchwork Mon Mar 4 12:27:10 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 209639 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:7301:fa17:b0:10a:f01:a869 with SMTP id ju23csp1543418dyc; Mon, 4 Mar 2024 08:48:31 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCXoeECHsgYw+kj6gXHp9o5XqVreCHn9Mq+lhD0LsJLufIGT0bP0Ggin4G0tpPb8shmM2nNQLEW/UXJEnPvYAAa0Tr1euw== X-Google-Smtp-Source: AGHT+IEDgCh2T84xtEO3Os0dZmwA4WB/eSVdKDms/k+NqwdrlLbkvG/yyv/zuNsUvK5di6ebO2Fr X-Received: by 2002:a05:6a20:daa8:b0:1a1:490f:25b2 with SMTP id iy40-20020a056a20daa800b001a1490f25b2mr3970103pzb.13.1709570910926; Mon, 04 Mar 2024 08:48:30 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1709570910; cv=pass; d=google.com; s=arc-20160816; b=L+GkjKpW9EKzplaqb+SEFbfYhnrNfB05m4q/dCa6bw3nSHY8FbAZlvLjIo/Lx/E7UE iB2fbvo1LwUX7YKttFfiodkhnWJCxURKI9QpC0VC2V5ArIq0EpETqSFd/mtLD6cLaRAU FdC4hzcXJAU538QB7WobcO4hIU2Nboy5olalD07MJAu5YSU8J04Mp+/kiIhCz0WjF05x MPoSvM3iGGecsgl6h6FWPBHOHQlmOvpDixnqpAZwiAdK1c32Cu/DnesomBjOXrHXfo0p cRrpeblbu78GOtxypVPgCfeBpJ6WbjTmbIRT8OodGmfWWHEoa3iesyz5I19JxIqmJT4M pSGA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:references:in-reply-to:message-id :date:subject:cc:to:from:dkim-signature; bh=S9OEI5eRqt/A1o44aeYvsfi9B5qX7mB+UTkcPjiKezE=; fh=ZfFIga6g1z2FD+c6esSANNfr8Qf2hi+vX5vwtK2q0AM=; b=icTik27uizOcW2qKHJnawRuQ85EkdN6s80/BbgIl5nB/81Pw3fwpuI9bROPI8wmMMv gwW6S8gCiRR/RRjZkasLiy91MARziLpBk4BeXv2ie2MlRZl399FModcnci5z5G97BSRM QUaAdrYupnKJqKxjVgn9/2EyVNO2CK9hFeeSR3LlWcrw7itna8lMg9yx0ca2e/Yj+UQI P/LWmYspthAza3pl0KClrgyPMVqJZpIw/eBRFl23FweVR/VV23U7bSaN1sMCJr/t3mXn fg5OfyLjbg9hdhXwo8Va9L/Y8waoTVCQ2PmunNzaBSdsPVEio+OdmSmbrjnzmORD4HIE 54zQ==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=R+UHVpva; arc=pass (i=1 dkim=pass dkdomain=intel.com dmarc=pass fromdomain=linux.intel.com); spf=pass (google.com: domain of linux-kernel+bounces-90573-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-90573-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org. [2604:1380:45e3:2400::1]) by mx.google.com with ESMTPS id z65-20020a633344000000b005dc50616768si8608301pgz.528.2024.03.04.08.48.30 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 04 Mar 2024 08:48:30 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-90573-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) client-ip=2604:1380:45e3:2400::1; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=R+UHVpva; arc=pass (i=1 dkim=pass dkdomain=intel.com dmarc=pass fromdomain=linux.intel.com); spf=pass (google.com: domain of linux-kernel+bounces-90573-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-90573-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sv.mirrors.kernel.org (Postfix) with ESMTPS id A7849288ECC for ; Mon, 4 Mar 2024 12:33:16 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 83E243D0D9; Mon, 4 Mar 2024 12:30:57 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="R+UHVpva" Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.12]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 507DC3EA89; Mon, 4 Mar 2024 12:30:52 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.12 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709555454; cv=none; b=bZTHYSijHxsj60Uv53U/LXnEJrwMLH2PkS0fZUMNwpOibOa+Vomt2WRKpEz2RKPbq8+TgxB3BD3gUTmtCdX6StqM09jvUH5Myc8OOvWjKjzND8tHvNo+qJ2g6JG+r481GYmCq+MdmtgAldqabR50N/gN2g6OQFE7RS5aYujbXFI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709555454; c=relaxed/simple; bh=ubZP60m5zbrISe9NE/s8BejqJy/fQG65jZvjehiHGZw=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=c2vZeaQxSLLKLnfd3ZYLn3VP/hQGTjS/zju602CeSw7iXPXrUrmk8tnCHUbcG5YGvpET0o5jhKVhbVgRq0qO3gG9pXo8ZjhOvrVK+9Df2ABcD3Qsju5hxFxR9qwUPuHn+3loFpXMp2JAAnIIHiKC++ENfvIYBFv8uJqdvXgO0bI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com; spf=none smtp.mailfrom=linux.intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=R+UHVpva; arc=none smtp.client-ip=192.198.163.12 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=linux.intel.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1709555452; x=1741091452; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=ubZP60m5zbrISe9NE/s8BejqJy/fQG65jZvjehiHGZw=; b=R+UHVpvaT+VpcQchsUXe2HoLL8R3IcSUK6W08vWIUnYkVoERku5wORe3 KbmS9a/FnyJy4sEzgOJ629KdLIK3zeg/Xqe+ZcrMQdvIOqbEAJwv1EB30 +UzZcPB8SyU2MOIfM9IhjqyapHqtQLjqUf/b2OFi/Pxca4l+e5JuImRTm oahf+H5O7ImJLziaG0a+lOnccTPvO7caO6OF1F3jKFmoANZR8xhPdsF29 0XWp+M7zD9gghyHbiDYHiJFzTUX/RKEzX62E+5RY86AKi6fOC35AYMsCC mnq5DtUfy2i0Dfs1Yos2j75HDsuSHoW/JQNGgi5yn+zZnFFPOxc8DWDXN A==; X-IronPort-AV: E=McAfee;i="6600,9927,11002"; a="7815132" X-IronPort-AV: E=Sophos;i="6.06,203,1705392000"; d="scan'208";a="7815132" 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:51 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,11002"; a="937040430" X-IronPort-AV: E=Sophos;i="6.06,203,1705392000"; d="scan'208";a="937040430" Received: from black.fi.intel.com ([10.237.72.28]) by fmsmga001.fm.intel.com with ESMTP; 04 Mar 2024 04:30:44 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id A1B997AF; 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 09/14] serial: 8250_lpc18xx: Switch to use uart_read_port_properties() Date: Mon, 4 Mar 2024 14:27:10 +0200 Message-ID: <20240304123035.758700-10-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.43.0.rc1.1.gbec44491f096 In-Reply-To: <20240304123035.758700-1-andriy.shevchenko@linux.intel.com> References: <20240304123035.758700-1-andriy.shevchenko@linux.intel.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1792615027514045268 X-GMAIL-MSGID: 1792615027514045268 Since we have now a common helper to read port properties use it instead of sparse home grown solution. Signed-off-by: Andy Shevchenko --- drivers/tty/serial/8250/8250_lpc18xx.c | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/drivers/tty/serial/8250/8250_lpc18xx.c b/drivers/tty/serial/8250/8250_lpc18xx.c index 8d728a6a5991..7984ee05af1d 100644 --- a/drivers/tty/serial/8250/8250_lpc18xx.c +++ b/drivers/tty/serial/8250/8250_lpc18xx.c @@ -92,11 +92,7 @@ static int lpc18xx_serial_probe(struct platform_device *pdev) struct lpc18xx_uart_data *data; struct uart_8250_port uart; struct resource *res; - int irq, ret; - - irq = platform_get_irq(pdev, 0); - if (irq < 0) - return irq; + int ret; res = platform_get_resource(pdev, IORESOURCE_MEM, 0); if (!res) { @@ -139,19 +135,12 @@ static int lpc18xx_serial_probe(struct platform_device *pdev) goto dis_clk_reg; } - ret = of_alias_get_id(pdev->dev.of_node, "serial"); - if (ret >= 0) - uart.port.line = ret; - data->dma.rx_param = data; data->dma.tx_param = data; spin_lock_init(&uart.port.lock); uart.port.dev = &pdev->dev; - uart.port.irq = irq; - uart.port.iotype = UPIO_MEM32; uart.port.mapbase = res->start; - uart.port.regshift = 2; uart.port.type = PORT_16550A; uart.port.flags = UPF_FIXED_PORT | UPF_FIXED_TYPE | UPF_SKIP_TEST; uart.port.uartclk = clk_get_rate(data->clk_uart); @@ -160,6 +149,13 @@ static int lpc18xx_serial_probe(struct platform_device *pdev) uart.port.rs485_supported = lpc18xx_rs485_supported; uart.port.serial_out = lpc18xx_uart_serial_out; + ret = uart_read_port_properties(&uart.port); + if (ret) + return ret; + + uart.port.iotype = UPIO_MEM32; + uart.port.regshift = 2; + uart.dma = &data->dma; uart.dma->rxconf.src_maxburst = 1; uart.dma->txconf.dst_maxburst = 1; From patchwork Mon Mar 4 12:27:11 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 209547 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:7301:fa17:b0:10a:f01:a869 with SMTP id ju23csp1430624dyc; Mon, 4 Mar 2024 05:50:20 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCVjVCFtfbsXLTevrSdw+/QokD2MnrM7Zf+j2cwTVacyyMq0+EXjn3u0u7L9Gzd0ElIAO5V6SE9hk9gDmGb9vN0JVaEKaw== X-Google-Smtp-Source: AGHT+IG9qmFRuqBROHUxPpdziU9YlRBs1cm7uDivdLe+bL/K6kISsGsTUEd8XSwEyKRzDKjVQsQK X-Received: by 2002:a05:620a:1a88:b0:788:31ad:4045 with SMTP id bl8-20020a05620a1a8800b0078831ad4045mr35593qkb.63.1709560220731; Mon, 04 Mar 2024 05:50:20 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1709560220; cv=pass; d=google.com; s=arc-20160816; b=ESbzP++4zBb0LflCUqcZSpjqqwOJrY0MHzLyyz2MeSyv0va+Mntd8VD1/8vhjeErdA qnZyQ+sfOHLRxd8duTBTtY7O4H8biQ0gLmuga1pYo23lgUxMsCwVerinZ4oNSSrSqp8i CILpUKC+Vwqou/qxXvyxtYixVIdRYZDdDYgNJ5HuHmljo//YPMt1X7jO397K0a2dS3iG PFq4mp7TO36/sITuKrIxqUqjDZtAYOHuaPCTsWkmmML/uNzewHaNd7SzjLio4SnjUEjt gnSnvv4BwyPcD716rXJUwo3DjFjZqVIpXe3iya9TeviaCVBkzVrOXxoJwGcpUqaKlgYF VWug== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:references:in-reply-to:message-id :date:subject:cc:to:from:dkim-signature; bh=o99H0d7l95gIv17bvwVQd671tR932Ttl8txF+vnJscM=; fh=eibS0BsaUBr9hbqk6h62kqABNizvaE1htIo3O7xuSNA=; b=tK4Era4fdwKOjhQvPY5hUTiZDladYgD20HLdFdeX4IfYWWshF+cZatbjrhyDoR8v2h 1DcpJMY1/0zMvYtR2VcwhslVCO5vu0Q4QB7YMKdcvOt7DQQMCTfNFiD9s8Woy9yFeSLa SdsUEnpfStrRAMW8ckOU7p01EzF8lmC22egS/TPYjWusk+pgD4rVauu4V1CzWVqJpGHa 32bjIcP7VI9Rbgch9m6aNHaR5vQeJmLIbqJhENo00QIspFTEIMXrzfC+f1ALzXs6r/ue BfRlvRUejyOXKn4Y1efLYPOCp41LK5swcqbyzAZNq+ZLQjE13BneiWb3wsO3GdI+KOyq gq8Q==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=URSy4uJF; arc=pass (i=1 dkim=pass dkdomain=intel.com dmarc=pass fromdomain=linux.intel.com); spf=pass (google.com: domain of linux-kernel+bounces-90578-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-90578-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org. [2604:1380:45d1:ec00::1]) by mx.google.com with ESMTPS id wj4-20020a05620a574400b007872d4ac1f1si9633853qkn.618.2024.03.04.05.50.20 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 04 Mar 2024 05:50:20 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-90578-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) client-ip=2604:1380:45d1:ec00::1; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=URSy4uJF; arc=pass (i=1 dkim=pass dkdomain=intel.com dmarc=pass fromdomain=linux.intel.com); spf=pass (google.com: domain of linux-kernel+bounces-90578-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-90578-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ny.mirrors.kernel.org (Postfix) with ESMTPS id 4F76C1C237AB for ; Mon, 4 Mar 2024 12:34:25 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 09E4B4AEE5; Mon, 4 Mar 2024 12:31:01 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="URSy4uJF" Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.12]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C66DF405FF; Mon, 4 Mar 2024 12:30:55 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.12 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709555457; cv=none; b=QSY07yf46H56F6IJvhD3sli5UgslPOOxFLe2j6VnsQdOEVdXZ2iSYlj2Zp92e5yUyUF6WfuWZmwNoq/P577Tf1RhhtRiIr5t5HY5oeRfsgiQsqwD98kEQXk4SbDrqp/nVR1EUtYOXk84iyJ8bW7lqmi9Z2y/MjmZl8MWpDsxtEY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709555457; c=relaxed/simple; bh=ndloFPd65Za/5Rw2io8+LcsLZs9zze94gN/QFg2Mk/c=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=jAyHYCneAmVULLp40PslqES52DvNmRvrW4ov3aDiQy50awp8OVekjcr9khkVvvCNrDLtTustkgqPJ4+JTHhOxN1tEdxBD3kPbPkZVKdBpSscX18edlrolvDfDu4UxrtVbU9p46sTfJGXiWmx+XZQhFhuhsOQVipJ9bQEU9H8wTw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com; spf=none smtp.mailfrom=linux.intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=URSy4uJF; arc=none smtp.client-ip=192.198.163.12 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=linux.intel.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1709555456; x=1741091456; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=ndloFPd65Za/5Rw2io8+LcsLZs9zze94gN/QFg2Mk/c=; b=URSy4uJFQS7pugEb3CY/SMKi+AqPSEHczEFq8KOW2mTIwHwjl+DkwY+J RIkLPBEo1Ii+50LQXzuYOBnM/l5y9qNdNnzLSlgNHgv6insblsuXDVXZl GOTQAbQYynaB2aOArGw5mLFqet2kB1bBzyA3rjeMGrevLIiuX04x5nXI+ cyeF4i1/BDgLbzI/XKqkffxdZKX99gzYsskbvK84AEwVCAg0s2bI70OZs MpXON3EPhSj2vwKAyTL2E/9DO43YsL7pudSej1/ayAqppEveiEIiOwVAo +FVa53SLWC0JSe6td8Xa2E+gdKKYPs1mAC0rRCwCNgG9IJrxuSN3L9x8G A==; X-IronPort-AV: E=McAfee;i="6600,9927,11002"; a="7815221" X-IronPort-AV: E=Sophos;i="6.06,203,1705392000"; d="scan'208";a="7815221" 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:52 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,11002"; a="937040431" X-IronPort-AV: E=Sophos;i="6.06,203,1705392000"; d="scan'208";a="937040431" Received: from black.fi.intel.com ([10.237.72.28]) by fmsmga001.fm.intel.com with ESMTP; 04 Mar 2024 04:30:44 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id B276C8A3; 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 , Andi Shyti Subject: [PATCH v3 10/14] serial: 8250_of: Switch to use uart_read_port_properties() Date: Mon, 4 Mar 2024 14:27:11 +0200 Message-ID: <20240304123035.758700-11-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.43.0.rc1.1.gbec44491f096 In-Reply-To: <20240304123035.758700-1-andriy.shevchenko@linux.intel.com> References: <20240304123035.758700-1-andriy.shevchenko@linux.intel.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1792603817984294166 X-GMAIL-MSGID: 1792603817984294166 Since we have now a common helper to read port properties use it instead of sparse home grown solution. Reviewed-by: Andi Shyti Signed-off-by: Andy Shevchenko Reviewed-by: Florian Fainelli Tested-by: Florian Fainelli --- drivers/tty/serial/8250/8250_of.c | 105 +++++++----------------------- 1 file changed, 22 insertions(+), 83 deletions(-) diff --git a/drivers/tty/serial/8250/8250_of.c b/drivers/tty/serial/8250/8250_of.c index 9dcc17e33269..5d1dd992d8fb 100644 --- a/drivers/tty/serial/8250/8250_of.c +++ b/drivers/tty/serial/8250/8250_of.c @@ -69,37 +69,22 @@ static int of_platform_serial_setup(struct platform_device *ofdev, struct device *dev = &ofdev->dev; struct device_node *np = dev->of_node; struct uart_port *port = &up->port; - u32 clk, spd, prop; - int ret, irq; + u32 spd; + int ret; memset(port, 0, sizeof *port); pm_runtime_enable(&ofdev->dev); pm_runtime_get_sync(&ofdev->dev); - if (of_property_read_u32(np, "clock-frequency", &clk)) { - - /* Get clk rate through clk driver if present */ - info->clk = devm_clk_get_enabled(dev, NULL); - if (IS_ERR(info->clk)) { - ret = dev_err_probe(dev, PTR_ERR(info->clk), "failed to get clock\n"); - goto err_pmruntime; - } - - clk = clk_get_rate(info->clk); - } - /* If current-speed was set, then try not to change it. */ - if (of_property_read_u32(np, "current-speed", &spd) == 0) - port->custom_divisor = clk / (16 * spd); - ret = of_address_to_resource(np, 0, &resource); if (ret) { dev_err_probe(dev, ret, "invalid address\n"); goto err_pmruntime; } - port->flags = UPF_SHARE_IRQ | UPF_BOOT_AUTOCONF | UPF_FIXED_PORT | - UPF_FIXED_TYPE; + port->dev = &ofdev->dev; + port->flags = UPF_BOOT_AUTOCONF | UPF_FIXED_PORT | UPF_FIXED_TYPE; spin_lock_init(&port->lock); if (resource_type(&resource) == IORESOURCE_IO) { @@ -108,70 +93,31 @@ static int of_platform_serial_setup(struct platform_device *ofdev, } else { port->mapbase = resource.start; port->mapsize = resource_size(&resource); - - /* Check for shifted address mapping */ - if (of_property_read_u32(np, "reg-offset", &prop) == 0) { - if (prop >= port->mapsize) { - ret = dev_err_probe(dev, -EINVAL, "reg-offset %u exceeds region size %pa\n", - prop, &port->mapsize); - goto err_pmruntime; - } - - port->mapbase += prop; - port->mapsize -= prop; - } - - port->iotype = UPIO_MEM; - if (of_property_read_u32(np, "reg-io-width", &prop) == 0) { - switch (prop) { - case 1: - port->iotype = UPIO_MEM; - break; - case 2: - port->iotype = UPIO_MEM16; - break; - case 4: - port->iotype = of_device_is_big_endian(np) ? - UPIO_MEM32BE : UPIO_MEM32; - break; - default: - ret = dev_err_probe(dev, -EINVAL, "unsupported reg-io-width (%u)\n", - prop); - goto err_pmruntime; - } - } port->flags |= UPF_IOREMAP; } + ret = uart_read_and_validate_port_properties(port); + if (ret) + goto err_pmruntime; + + /* Get clk rate through clk driver if present */ + if (!port->uartclk) { + info->clk = devm_clk_get_enabled(dev, NULL); + if (IS_ERR(info->clk)) { + ret = dev_err_probe(dev, PTR_ERR(info->clk), "failed to get clock\n"); + goto err_pmruntime; + } + + port->uartclk = clk_get_rate(info->clk); + } + /* If current-speed was set, then try not to change it. */ + if (of_property_read_u32(np, "current-speed", &spd) == 0) + port->custom_divisor = port->uartclk / (16 * spd); + /* Compatibility with the deprecated pxa driver and 8250_pxa drivers. */ if (of_device_is_compatible(np, "mrvl,mmp-uart")) port->regshift = 2; - /* Check for registers offset within the devices address range */ - if (of_property_read_u32(np, "reg-shift", &prop) == 0) - port->regshift = prop; - - /* Check for fifo size */ - if (of_property_read_u32(np, "fifo-size", &prop) == 0) - port->fifosize = prop; - - /* Check for a fixed line number */ - ret = of_alias_get_id(np, "serial"); - if (ret >= 0) - port->line = ret; - - irq = of_irq_get(np, 0); - if (irq < 0) { - if (irq == -EPROBE_DEFER) { - ret = -EPROBE_DEFER; - goto err_pmruntime; - } - /* IRQ support not mandatory */ - irq = 0; - } - - port->irq = irq; - info->rst = devm_reset_control_get_optional_shared(&ofdev->dev, NULL); if (IS_ERR(info->rst)) { ret = PTR_ERR(info->rst); @@ -183,12 +129,6 @@ static int of_platform_serial_setup(struct platform_device *ofdev, goto err_pmruntime; port->type = type; - port->uartclk = clk; - - if (of_property_read_bool(np, "no-loopback-test")) - port->flags |= UPF_SKIP_TEST; - - port->dev = &ofdev->dev; port->rs485_config = serial8250_em485_config; port->rs485_supported = serial8250_em485_supported; up->rs485_start_tx = serial8250_em485_start_tx; @@ -280,7 +220,6 @@ static int of_platform_serial_probe(struct platform_device *ofdev) platform_set_drvdata(ofdev, info); return 0; err_dispose: - irq_dispose_mapping(port8250.port.irq); pm_runtime_put_sync(&ofdev->dev); pm_runtime_disable(&ofdev->dev); err_free: From patchwork Mon Mar 4 12:27:12 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 209647 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:7301:fa17:b0:10a:f01:a869 with SMTP id ju23csp1564860dyc; Mon, 4 Mar 2024 09:21:54 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCWOscae4uSF1MrG4/9GdKy18F3HdNnQXq9wbva/0TYDhPLxuIMwk9zlplneMdJ+u2lsW8sOo/b2M/RDElYSM3QH/LRTnA== X-Google-Smtp-Source: AGHT+IF/27tPq1eEvfLhGblT8BQ2MPQDajslYTf8y4EH3HmyDN8F+0P3i7vQ29W9uYWSRBYthNcT X-Received: by 2002:a17:906:7fc8:b0:a3f:d260:4a72 with SMTP id r8-20020a1709067fc800b00a3fd2604a72mr130179ejs.27.1709572914342; Mon, 04 Mar 2024 09:21:54 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1709572914; cv=pass; d=google.com; s=arc-20160816; b=Qbeb3i3lElnb6SlaWjqlb4jOqTw6Izla+NLxyPj4GaeKfcfVHbxeX5wXPc4BvWR/oW 6chYD4ZcZ5ux7Ee4rfhJqbakOcXW3+T/hX+8P/UYU2ObWmBqfsIdoHRWwSU4ndYPUhvi fQMLO4+QbTyFqqgunTHLKQ3sT7oMsscvIUTRyMdPcptK16VFmoy1gYNcfFn+xdvh3Jpm 4RxVfcvzmXHkWDpLOxJamcf6/spTN1SU2j3VdhhbCpZ6BX8t5W6crAg+2VOKJq4SNhT8 cAzvFmM8RmroZefY7w660+Qni3/y+n/ue4a02Dt3A3UPX6ps/9jNr8XY8xM1NSTFRz80 8Dzw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:references:in-reply-to:message-id :date:subject:cc:to:from:dkim-signature; bh=Kv3ef5kOEN6EfoGeLT3lT9N3z9gLWmFBpoB1hdBYXpM=; fh=ZfFIga6g1z2FD+c6esSANNfr8Qf2hi+vX5vwtK2q0AM=; b=EzvD0b50xWv/sgucDhKvX7vxy2rQrrm4m3fQNj7M/XccISEWsecgET8CMsDvaXsSyt 7yDJydXJWz1nigKwwhd4sCccZGuDtjr3gqYNipWGTmcN6F2LxIBhA9jXYzaP2paJW9EB pAaPybOKNAu6oKMSkmGudusv3mr3cHi4WzhvKeLAI/tDvoKdZ6Pu8P9jhq+XCizW9ow0 i+T5buNS9GUc/CJhEi6uxzQJ3S68H5rzvfAyFFIsSnwk6MUmC4xnXNW2I2UF7ficOxnR AJs1qJ1P1ylWZaCM8pH/trwUUIyX6b7i0IXULQJszmQmnjq3e+bC9rEx60STHjl431cm Mjhg==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=btgO66SW; arc=pass (i=1 dkim=pass dkdomain=intel.com dmarc=pass fromdomain=linux.intel.com); spf=pass (google.com: domain of linux-kernel+bounces-90580-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:4601:e00::3 as permitted sender) smtp.mailfrom="linux-kernel+bounces-90580-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from am.mirrors.kernel.org (am.mirrors.kernel.org. [2604:1380:4601:e00::3]) by mx.google.com with ESMTPS id ga15-20020a1709070c0f00b00a44b1212d05si2956781ejc.459.2024.03.04.09.21.54 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 04 Mar 2024 09:21:54 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-90580-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:4601:e00::3 as permitted sender) client-ip=2604:1380:4601:e00::3; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=btgO66SW; arc=pass (i=1 dkim=pass dkdomain=intel.com dmarc=pass fromdomain=linux.intel.com); spf=pass (google.com: domain of linux-kernel+bounces-90580-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:4601:e00::3 as permitted sender) smtp.mailfrom="linux-kernel+bounces-90580-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by am.mirrors.kernel.org (Postfix) with ESMTPS id CDA0A1F26327 for ; Mon, 4 Mar 2024 12:34:28 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 4E80A4BA94; Mon, 4 Mar 2024 12:31:01 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="btgO66SW" Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.12]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B134D1DFD6; Mon, 4 Mar 2024 12:30:56 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.12 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709555458; cv=none; b=LknKZl/w9JmrTm3TJEAM9vsg4rNym1NZFeEC6FWIyByrCcajq4lNHamVh4pvrhFB9W7AhXpaKLeYzBii4kPiQ63kWjp5x4tmdJbl/eYRiqrMI2PZfj5G1u7uPYwbT7Tq+0NlxHx1+EjpfaMjcZay7L6X63jPBJy0taYJaxMgVdQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709555458; c=relaxed/simple; bh=Ug0+1cJK1qABFIX1u2vFwuq1+scRl5b911mXi0OiA6E=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=h1Q8dKir6+je1iSxv815rMCxrshct+Pna4xj0o2TnAmYfh/URnJyw0adVvUQVwJUjKJMhB7Xjlz5iUEGWtoejKczZiT2hVaSkDzUmpcBLaLjWIvZwqZkgYKH8UJVjCNawE1mn7GkVMS/E5ZXrhExE4iTXq6txn0EFPeWdMFriGk= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com; spf=none smtp.mailfrom=linux.intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=btgO66SW; arc=none smtp.client-ip=192.198.163.12 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=linux.intel.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1709555457; x=1741091457; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=Ug0+1cJK1qABFIX1u2vFwuq1+scRl5b911mXi0OiA6E=; b=btgO66SWU7R75f1NA6Np7PWHbaWPwPj4LHe6t4MSURWSRWVWbX2bvS+5 8LBqpsBTIRZW2PY1PZqsOV4Gvyky6BIVbVlXykOeGFY/9IjtV+XsPdBcc jOVAxuQLHOxn4nTbtHGdxNW2QQ2IXZsFX+7XnMnvO/qllvCz+NuL+hXz3 R0QqWRgTm8nqx/wc36VttavsdSna+M1PFHkerd7m+9lfDzJaIqQTVd9t5 x4jw21dtzanKluXWnxuC60ezPBUWarM20bjYM8sQYZVhFYVNIwpsKsVyU eFdP1ZY4si+ti4LPk1/2aNZS2HvdT6gXvg+BOHHxCTyMl1XfuFIMYRF6Y w==; X-IronPort-AV: E=McAfee;i="6600,9927,11002"; a="7815203" X-IronPort-AV: E=Sophos;i="6.06,203,1705392000"; d="scan'208";a="7815203" 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:51 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,11002"; a="937040433" X-IronPort-AV: E=Sophos;i="6.06,203,1705392000"; d="scan'208";a="937040433" Received: from black.fi.intel.com ([10.237.72.28]) by fmsmga001.fm.intel.com with ESMTP; 04 Mar 2024 04:30:45 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id BF01A8F6; 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 11/14] serial: 8250_omap: Switch to use uart_read_port_properties() Date: Mon, 4 Mar 2024 14:27:12 +0200 Message-ID: <20240304123035.758700-12-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.43.0.rc1.1.gbec44491f096 In-Reply-To: <20240304123035.758700-1-andriy.shevchenko@linux.intel.com> References: <20240304123035.758700-1-andriy.shevchenko@linux.intel.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1792617128100534197 X-GMAIL-MSGID: 1792617128100534197 Since we have now a common helper to read port properties use it instead of sparse home grown solution. Signed-off-by: Andy Shevchenko --- drivers/tty/serial/8250/8250_omap.c | 29 ++++++++++------------------- 1 file changed, 10 insertions(+), 19 deletions(-) diff --git a/drivers/tty/serial/8250/8250_omap.c b/drivers/tty/serial/8250/8250_omap.c index 6942990a333c..66901d93089a 100644 --- a/drivers/tty/serial/8250/8250_omap.c +++ b/drivers/tty/serial/8250/8250_omap.c @@ -1394,11 +1394,7 @@ static int omap8250_probe(struct platform_device *pdev) struct uart_8250_port up; struct resource *regs; void __iomem *membase; - int irq, ret; - - irq = platform_get_irq(pdev, 0); - if (irq < 0) - return irq; + int ret; regs = platform_get_resource(pdev, IORESOURCE_MEM, 0); if (!regs) { @@ -1419,7 +1415,6 @@ static int omap8250_probe(struct platform_device *pdev) up.port.dev = &pdev->dev; up.port.mapbase = regs->start; up.port.membase = membase; - up.port.irq = irq; /* * It claims to be 16C750 compatible however it is a little different. * It has EFR and has no FCR7_64byte bit. The AFE (which it claims to @@ -1429,13 +1424,9 @@ static int omap8250_probe(struct platform_device *pdev) * or pm callback. */ up.port.type = PORT_8250; - up.port.iotype = UPIO_MEM; - up.port.flags = UPF_FIXED_PORT | UPF_FIXED_TYPE | UPF_SOFT_FLOW | - UPF_HARD_FLOW; + up.port.flags = UPF_FIXED_PORT | UPF_FIXED_TYPE | UPF_SOFT_FLOW | UPF_HARD_FLOW; up.port.private_data = priv; - up.port.regshift = OMAP_UART_REGSHIFT; - up.port.fifosize = 64; up.tx_loadsz = 64; up.capabilities = UART_CAP_FIFO; #ifdef CONFIG_PM @@ -1461,14 +1452,14 @@ static int omap8250_probe(struct platform_device *pdev) up.rs485_stop_tx = serial8250_em485_stop_tx; up.port.has_sysrq = IS_ENABLED(CONFIG_SERIAL_8250_CONSOLE); - ret = of_alias_get_id(np, "serial"); - if (ret < 0) { - dev_err(&pdev->dev, "failed to get alias\n"); + ret = uart_read_port_properties(&up.port); + if (ret) return ret; - } - up.port.line = ret; - if (of_property_read_u32(np, "clock-frequency", &up.port.uartclk)) { + up.port.regshift = OMAP_UART_REGSHIFT; + up.port.fifosize = 64; + + if (!up.port.uartclk) { struct clk *clk; clk = devm_clk_get(&pdev->dev, NULL); @@ -1560,8 +1551,8 @@ static int omap8250_probe(struct platform_device *pdev) } #endif - irq_set_status_flags(irq, IRQ_NOAUTOEN); - ret = devm_request_irq(&pdev->dev, irq, omap8250_irq, 0, + irq_set_status_flags(up.port.irq, IRQ_NOAUTOEN); + ret = devm_request_irq(&pdev->dev, up.port.irq, omap8250_irq, 0, dev_name(&pdev->dev), priv); if (ret < 0) return ret; From patchwork Mon Mar 4 12:27:13 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 209549 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:7301:fa17:b0:10a:f01:a869 with SMTP id ju23csp1430828dyc; Mon, 4 Mar 2024 05:50:42 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCUFL1fC8PnyUk+Wqsd1r8xsCuZGH9DhuYoy7+9eYHVeKs03T77O8KOGvDG0XizFaO36PBYSf/+WuAO5s1UJ6eOo4jsHgw== X-Google-Smtp-Source: AGHT+IFvYWcCpCnekQgYYEv+RYIMwpDPuaPu92aUzSIs8gJzEiWJR+g6C8i1CO8spuOi2DQ7nzYk X-Received: by 2002:a05:620a:12f8:b0:788:2b12:8b59 with SMTP id f24-20020a05620a12f800b007882b128b59mr2308603qkl.31.1709560242621; Mon, 04 Mar 2024 05:50:42 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1709560242; cv=pass; d=google.com; s=arc-20160816; b=aQz4w+IA9dSzsAnahI+ypLMVb/ZVmOIUIbCMllwOaY3ESYn1YgjVU2to+zksLKn6OB A8QRBKsZkeAFTOpInLOqjDySpdg1dWH3OXk/RTwOO+JTD/ghkBwtucfHnE+8dbUwLIS1 veQHFKQSNn0TQBIyrONDA0XBNEfkatQFyirSINxgN4fbVfOdNWv6gt/M/MX30LQHJgZB PbpzQsGkDsGUQyjc1KoVoVRGqtgJyBckhHAACNWGOF2IDQHOOmbBOKLnsqVcrjCDTfF8 gb6sj/kxPqSyUlqq14uBUik2uL8GI2rdNXrP7UOwMd+rIhb5CWXa/IRo6P4VujtBrfVm InuA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:references:in-reply-to:message-id :date:subject:cc:to:from:dkim-signature; bh=2azi7gIPb7rzJEtFuYgtqqbrz/WTcq/hgvVZXS6iROc=; fh=ZfFIga6g1z2FD+c6esSANNfr8Qf2hi+vX5vwtK2q0AM=; b=tFYfu2bqD5YcAzJHK/dvKAMydDiD+1FWcputFN6aNUSEqs0W8/zf+6U1VHcHNw6DZk AUs5+0rKK6N7g/vS8Na0HYxJJzBxan1ll5iiy4y+r+LN7bfdwgAdp+AmR+zA24vg5RD3 zCEuTgMSEvlf1jmt4p1FVyE3nazNoCfsIIqzDpZQgblnn2cL5/UMZIcPX+fG6XXrQifF SoMd6YH3sJY47rfoJPkoTeJLLU2IrGDpLsGCaT4hGvxPOfUdv6KP3XTL1VYVUsWIC5JJ A7ZpVguQL2aAVwOrJiBDiVGhjwEusA073aa2VHKX/IE3fqcGPcNMzlZe1pp5le5Q2KPF jRQg==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=EnyEIcKk; arc=pass (i=1 dkim=pass dkdomain=intel.com dmarc=pass fromdomain=linux.intel.com); spf=pass (google.com: domain of linux-kernel+bounces-90571-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-90571-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org. [2604:1380:45d1:ec00::1]) by mx.google.com with ESMTPS id 13-20020a05621420cd00b0068fe53fbf01si9542851qve.217.2024.03.04.05.50.42 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 04 Mar 2024 05:50:42 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-90571-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) client-ip=2604:1380:45d1:ec00::1; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=EnyEIcKk; arc=pass (i=1 dkim=pass dkdomain=intel.com dmarc=pass fromdomain=linux.intel.com); spf=pass (google.com: domain of linux-kernel+bounces-90571-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-90571-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ny.mirrors.kernel.org (Postfix) with ESMTPS id 551341C2227C for ; Mon, 4 Mar 2024 12:32:35 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 7FE75405C7; Mon, 4 Mar 2024 12:30:55 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="EnyEIcKk" Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.12]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B6FD33DB8B; Mon, 4 Mar 2024 12:30:50 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.12 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709555452; cv=none; b=JsbvKmENPl8HTLvheyziUi44kk48lu2FvpXM4qUliPP0BkBVdBQR7nBret9dBBozUd+6Nu5drOhfmcGqZpphq9wG8Yl3RQ9MEaqY40aqzO6P7cbJ1nR4PRssmO8PMBzNoiddZcRqDqCDg0fDKflvWqpuK2A+SJ5sv0KR9nnai7s= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709555452; c=relaxed/simple; bh=TnMt2ju9cdAL7PKJz1vum/eONvPof09ld6E2GiIPEVg=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=FdwaAqLjhKyJZNg6RoNg+qEBs3YvJFO1X3ADHMqUhCNw/j7Vbn6cTC8WhOlv7HftFA+YWmPj7FLNAn84OTrTRzSoQuOFhRuEWHyFwwnk1iAtY3qpxxRqG5UOikjRjDXGFclnY04GwqEX9QBCvaCfi/Eavx7rqQEDl5wHRCxp1HM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com; spf=none smtp.mailfrom=linux.intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=EnyEIcKk; arc=none smtp.client-ip=192.198.163.12 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=linux.intel.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1709555451; x=1741091451; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=TnMt2ju9cdAL7PKJz1vum/eONvPof09ld6E2GiIPEVg=; b=EnyEIcKkVQZTW7RMkD5/KI1SwzfKgLeR7mDUTQxp6a7ilowEuor/Oh5T 7S0GBUXC5O8qshdU1sH1XYH19zUWkSvnRfWwdeHEiXBsxXnftlf0U910t lUgUMOcwvxfrsFY6yVXPVJpxuTCSnHo99zuBMnor3P9KTdQmDHSySjav4 bsvsEDZJ5A9DBnTtYliWcc5kehpb7POJ+PY+5mtMfHuNoDeH6Eqo6F6dB N6tKuCztafJx+cYUlOMq5Ab27+tIEvEjx24ItMFEeWL5aK1fM/SArY5kw rZppPNsgtOpOzURZ/UX2x7O7iqlpk8HPXSGM8wMH5hdX2Fik8UZQ+Jnqm g==; X-IronPort-AV: E=McAfee;i="6600,9927,11002"; a="7815099" X-IronPort-AV: E=Sophos;i="6.06,203,1705392000"; d="scan'208";a="7815099" 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:50 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,11002"; a="937040432" X-IronPort-AV: E=Sophos;i="6.06,203,1705392000"; d="scan'208";a="937040432" Received: from black.fi.intel.com ([10.237.72.28]) by fmsmga001.fm.intel.com with ESMTP; 04 Mar 2024 04:30:44 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id CB7CFA59; 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 12/14] serial: 8250_pxa: Switch to use uart_read_port_properties() Date: Mon, 4 Mar 2024 14:27:13 +0200 Message-ID: <20240304123035.758700-13-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.43.0.rc1.1.gbec44491f096 In-Reply-To: <20240304123035.758700-1-andriy.shevchenko@linux.intel.com> References: <20240304123035.758700-1-andriy.shevchenko@linux.intel.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1792603840916409543 X-GMAIL-MSGID: 1792603840916409543 Since we have now a common helper to read port properties use it instead of sparse home grown solution. Signed-off-by: Andy Shevchenko --- drivers/tty/serial/8250/8250_pxa.c | 22 +++++++++------------- 1 file changed, 9 insertions(+), 13 deletions(-) diff --git a/drivers/tty/serial/8250/8250_pxa.c b/drivers/tty/serial/8250/8250_pxa.c index 77686da42ce8..f1a51b00b1b9 100644 --- a/drivers/tty/serial/8250/8250_pxa.c +++ b/drivers/tty/serial/8250/8250_pxa.c @@ -92,11 +92,7 @@ static int serial_pxa_probe(struct platform_device *pdev) struct uart_8250_port uart = {}; struct pxa8250_data *data; struct resource *mmres; - int irq, ret; - - irq = platform_get_irq(pdev, 0); - if (irq < 0) - return irq; + int ret; mmres = platform_get_resource(pdev, IORESOURCE_MEM, 0); if (!mmres) @@ -114,21 +110,21 @@ static int serial_pxa_probe(struct platform_device *pdev) if (ret) return ret; - ret = of_alias_get_id(pdev->dev.of_node, "serial"); - if (ret >= 0) - uart.port.line = ret; - uart.port.type = PORT_XSCALE; - uart.port.iotype = UPIO_MEM32; uart.port.mapbase = mmres->start; - uart.port.regshift = 2; - uart.port.irq = irq; - uart.port.fifosize = 64; uart.port.flags = UPF_IOREMAP | UPF_SKIP_TEST | UPF_FIXED_TYPE; uart.port.dev = &pdev->dev; uart.port.uartclk = clk_get_rate(data->clk); uart.port.pm = serial_pxa_pm; uart.port.private_data = data; + + ret = uart_read_port_properties(&uart.port); + if (ret) + return ret; + + uart.port.iotype = UPIO_MEM32; + uart.port.regshift = 2; + uart.port.fifosize = 64; uart.dl_write = serial_pxa_dl_write; ret = serial8250_register_8250_port(&uart); From patchwork Mon Mar 4 12:27:14 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 209617 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:6359:6299:b0:17c:1df7:5ed3 with SMTP id se25csp279613rwb; Mon, 4 Mar 2024 07:56:42 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCXQGIaKdtY3lPhPbXSAoNiQwsfdyzyImvlWruSE1ZhV6Qs67D4EZJqSVTFzfODC/uTcOKP6PBw/qNLpzVHkt7NeVyjRNg== X-Google-Smtp-Source: AGHT+IEmGeT0VJXLu1AWzIh4KD6ndgQnFAissMJX1ctY2kXD4/sg7/BIq35nBIQAStoZS/TT2MQO X-Received: by 2002:a05:6a00:22c6:b0:6e4:6163:7e05 with SMTP id f6-20020a056a0022c600b006e461637e05mr10970870pfj.6.1709567802714; Mon, 04 Mar 2024 07:56:42 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1709567802; cv=pass; d=google.com; s=arc-20160816; b=RCxHNpPv1DKU1LZd9iOccEpePUa1YyqO9B+FfbWJX8RJ42yeDboTWr5PrZ0W6qnCab Z1gPcP9+tReCG/wIw/C5KDNQCPMGY8NTMHR93oHg11Z9NORxOv8Pn0S9DXoYBPQzvq48 sp1Xvl3LJHeZUZi6lgBGMuVnPqU5EYplR5FZQVs4iU/yJG/tAs7JyehFuv3Drz5QQhrc 9tmcsXEQ9bkXbabPyi3HAZ1IC1M+Atd1clni5skkOYMRg10P6yolxDpt2N4aNgR2jzl6 iH2g1hjh5LyxMLTpy5pCJ33wq3znAP/5yQ4567WeCoBqrEP+rmbGGHilQCrOYP9g6mU+ F2AA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:references:in-reply-to:message-id :date:subject:cc:to:from:dkim-signature; bh=YABvqMo/1Kx2TP1HCdX26Rayv1osCdFN1+fLiz19i+k=; fh=ZfFIga6g1z2FD+c6esSANNfr8Qf2hi+vX5vwtK2q0AM=; b=aYuo8dPNgQ0PtZ4cqvH9Xzima5llnEX2LwixoQPeaINV0Krk2ClJgujcJ6bNnbL30o ghBrlyao182cEHJDiBQWaDCN2MOV1usCw0idDBizJpCxiW68SRTGxqO1sRuShbzWzf+j zYQDjFQ209KwnfVvYJZqsLkQFtZi4Ka4qR9vn/vkwT+0TUTyjPFhk89ova2kp68yLYi9 etzBWcNqKPXg6pUFkKF0ygGYGvwKoOhQ9rib46Xj2XWEuyR54e0DriASMYBiaS0p3rRf Gwp9e5DaD2SCjHjjkkXfkbbzj2K4/mkwIB73v50BcTvDf/OjMQOiU5aTwYVWbVIT0NC6 PiSw==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=jLhsFR4b; arc=pass (i=1 dkim=pass dkdomain=intel.com dmarc=pass fromdomain=linux.intel.com); spf=pass (google.com: domain of linux-kernel+bounces-90579-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:40f1:3f00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-90579-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org. [2604:1380:40f1:3f00::1]) by mx.google.com with ESMTPS id s4-20020a62e704000000b006e48a63f4ebsi8331664pfh.259.2024.03.04.07.56.42 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 04 Mar 2024 07:56:42 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-90579-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:40f1:3f00::1 as permitted sender) client-ip=2604:1380:40f1:3f00::1; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=jLhsFR4b; arc=pass (i=1 dkim=pass dkdomain=intel.com dmarc=pass fromdomain=linux.intel.com); spf=pass (google.com: domain of linux-kernel+bounces-90579-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:40f1:3f00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-90579-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sy.mirrors.kernel.org (Postfix) with ESMTPS id DE32BB250D1 for ; Mon, 4 Mar 2024 12:34:25 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 09E754AEEE; Mon, 4 Mar 2024 12:31:01 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="jLhsFR4b" Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.12]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A102B44C84; Mon, 4 Mar 2024 12:30:56 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.12 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709555458; cv=none; b=ET272ZSFqFsadHr9eXj7FnTAC/CR2XCmmh+YxN1joqzDHd1X7vAkthG1XqQc6OMoC4FDnPnErjKmM+Om0tZg0/B+LLC5Vz0VnX7EhyxPZ8/7VN2BwaPd0M3ks2ZP2bA+kEHr2pUd1nmdYeMSvlswQ4DQwCZlcAuxdCzo2XG7iVo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709555458; c=relaxed/simple; bh=2fQaXc8Ypf3lwPz6yPzLdFKzd2VLz29IZnJiOdcHyzs=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=RWnFEUSsbyRg7V8ZRIJIJFD3hcJv37BtkNO0e1PIQpg5uGQ25NZywkkDxe6IpzUOmegS+pfIKQW0eAH9+zZltUaKsglEHwyuOxbaxxSsV5AiOxo8679yKLgBnLTfJak6t2Q7LnH703bxSR9UBxI42vb0kCfbY/dblDlAxd4hOcA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com; spf=none smtp.mailfrom=linux.intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=jLhsFR4b; arc=none smtp.client-ip=192.198.163.12 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=linux.intel.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1709555457; x=1741091457; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=2fQaXc8Ypf3lwPz6yPzLdFKzd2VLz29IZnJiOdcHyzs=; b=jLhsFR4bKcHPV/qMsg2WuZrP3ldwzjBAj2DzBotQKC2/fzD2Pifvreml HZF8wO5MXj51Ux+gW/qqPWC3nLjV6sqOH3g1sDxKh6AAXXr9sMEMFx9sb wAKd/wObsQGiRrTjT/TII7G/XYrs1ZKjvmoiDpFKH/syhaLLfUusAMriW bAJxf3Ccdhhi/fO8iiXt3uNK38xZhaipniYaSI5Y5BHTobR8mM4qJrSM1 NSjJf0bXrXtgUFdH+QZ2ppp0OjpvrL8O9KLSn6BmivImOUCgNp9eawnpd nkwI5r81srA4ZXfLZVgJanvl7augnLvBWniS0bqGWeVlX0ct1JZX6lpor w==; X-IronPort-AV: E=McAfee;i="6600,9927,11002"; a="7815219" X-IronPort-AV: E=Sophos;i="6.06,203,1705392000"; d="scan'208";a="7815219" 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:52 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,11002"; a="937040434" X-IronPort-AV: E=Sophos;i="6.06,203,1705392000"; d="scan'208";a="937040434" Received: from black.fi.intel.com ([10.237.72.28]) by fmsmga001.fm.intel.com with ESMTP; 04 Mar 2024 04:30:45 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id D8088AB1; 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 13/14] serial: 8250_tegra: Switch to use uart_read_port_properties() Date: Mon, 4 Mar 2024 14:27:14 +0200 Message-ID: <20240304123035.758700-14-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.43.0.rc1.1.gbec44491f096 In-Reply-To: <20240304123035.758700-1-andriy.shevchenko@linux.intel.com> References: <20240304123035.758700-1-andriy.shevchenko@linux.intel.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1792611768382920293 X-GMAIL-MSGID: 1792611768382920293 Since we have now a common helper to read port properties use it instead of sparse home grown solution. Signed-off-by: Andy Shevchenko --- drivers/tty/serial/8250/8250_tegra.c | 26 +++++++++----------------- 1 file changed, 9 insertions(+), 17 deletions(-) diff --git a/drivers/tty/serial/8250/8250_tegra.c b/drivers/tty/serial/8250/8250_tegra.c index ba352262df75..60a80d00d251 100644 --- a/drivers/tty/serial/8250/8250_tegra.c +++ b/drivers/tty/serial/8250/8250_tegra.c @@ -57,25 +57,11 @@ static int tegra_uart_probe(struct platform_device *pdev) port = &port8250.port; spin_lock_init(&port->lock); - port->flags = UPF_SHARE_IRQ | UPF_BOOT_AUTOCONF | UPF_FIXED_PORT | - UPF_FIXED_TYPE; - port->iotype = UPIO_MEM32; - port->regshift = 2; + port->flags = UPF_BOOT_AUTOCONF | UPF_FIXED_PORT | UPF_FIXED_TYPE; port->type = PORT_TEGRA; - port->irqflags |= IRQF_SHARED; port->dev = &pdev->dev; port->handle_break = tegra_uart_handle_break; - ret = of_alias_get_id(pdev->dev.of_node, "serial"); - if (ret >= 0) - port->line = ret; - - ret = platform_get_irq(pdev, 0); - if (ret < 0) - return ret; - - port->irq = ret; - res = platform_get_resource(pdev, IORESOURCE_MEM, 0); if (!res) return -ENODEV; @@ -88,12 +74,18 @@ static int tegra_uart_probe(struct platform_device *pdev) port->mapbase = res->start; port->mapsize = resource_size(res); + ret = uart_read_port_properties(port); + if (ret) + return ret; + + port->iotype = UPIO_MEM32; + port->regshift = 2; + uart->rst = devm_reset_control_get_optional_shared(&pdev->dev, NULL); if (IS_ERR(uart->rst)) return PTR_ERR(uart->rst); - if (device_property_read_u32(&pdev->dev, "clock-frequency", - &port->uartclk)) { + if (!port->uartclk) { uart->clk = devm_clk_get(&pdev->dev, NULL); if (IS_ERR(uart->clk)) { dev_err(&pdev->dev, "failed to get clock!\n"); From patchwork Mon Mar 4 12:27:15 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 209548 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:7301:fa17:b0:10a:f01:a869 with SMTP id ju23csp1430696dyc; Mon, 4 Mar 2024 05:50:28 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCXDRxzZWtvZQ3guSs0ZB5OKA43bsn0pYeJqhCFncl8CREDIXaF7bdeZ7+9IcioUlTili6IqwkJpR8Wh4uIbJ8nvG7okPw== X-Google-Smtp-Source: AGHT+IGbXsVcb4d5pjK1A86bgAgJKA+pJCZSJcW5Bdy0Toc9RJWu9vvCZnxHSU8ZDnezc2n5MBsZ X-Received: by 2002:a0c:d983:0:b0:68f:5b12:b4cf with SMTP id y3-20020a0cd983000000b0068f5b12b4cfmr8651212qvj.10.1709560227914; Mon, 04 Mar 2024 05:50:27 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1709560227; cv=pass; d=google.com; s=arc-20160816; b=EDpml2ZgTCkKKdfMzmo6X/SKZGqp3xxZPn6ZCJW5h+3buz1i511CB/iV8iQDs9uJiK HDp72I6LlrhVWdv/+NICFjh/WrKfryQZpIqQCo1WG16z3/EYTivuk3AC+RrmWskV7v/j 38shKsghLEs8eitPyMmcPahigvjd9UnwY01x6vZuNb0arEEeFEkRcVLGhhaRh7IPI9QX tISUGnpgw9je1QhFMo9sQc8s9ECXPuoXM7bUWywbsMV8NBKzUDMeqM6neLZskGnxcoXl Yelf3GBKYp8IQkpf/6pu/+MfxlL+f9s6OZMSp+LYfqapV2DQ0ABHJO8znTws3QIJYaNk 0G1A== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:references:in-reply-to:message-id :date:subject:cc:to:from:dkim-signature; bh=+aUBwZskSK0P7WcXuEtvBgjdLCsN/pDYee3N2WlRlrU=; fh=ZfFIga6g1z2FD+c6esSANNfr8Qf2hi+vX5vwtK2q0AM=; b=rig+JBO+xvHPkKNMUg/rxZrhXTuM7zf1TayRk8TjNRdBo4kyZHs63w2L7Gl6dNA1J7 qzxtmxrBClq6nEP2hrLhhQK5p1RujIsQAikYWQgRXUJW4eoNegXl2emm3zdl8I64+q73 VZzxrDuUClluLh+tpHhYlcy/9XVo55zP+p6vj2sQbWM9bDCilMDUSiDfQe0DjcVKxbzJ /RlNktYuJay4I0Sql5pavOFQ7fYV2dwDIMz0hGOKS4GFy96QW35XpA/Am1cOuaVaHFRt XU4vMLj5LMtX/7O0YZcf4BV4N10BfN6IJTlr+LAG1uWsMyE+FT8PJx3mV+5Ck5yE2S18 wMOg==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=KJEiuq6s; arc=pass (i=1 dkim=pass dkdomain=intel.com dmarc=pass fromdomain=linux.intel.com); spf=pass (google.com: domain of linux-kernel+bounces-90577-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-90577-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org. [2604:1380:45d1:ec00::1]) by mx.google.com with ESMTPS id jl11-20020ad45e8b000000b0068f10593ee8si10041698qvb.599.2024.03.04.05.50.27 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 04 Mar 2024 05:50:27 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-90577-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) client-ip=2604:1380:45d1:ec00::1; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=KJEiuq6s; arc=pass (i=1 dkim=pass dkdomain=intel.com dmarc=pass fromdomain=linux.intel.com); spf=pass (google.com: domain of linux-kernel+bounces-90577-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-90577-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ny.mirrors.kernel.org (Postfix) with ESMTPS id A5DF31C234D7 for ; Mon, 4 Mar 2024 12:34:00 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 6FFD9481D0; Mon, 4 Mar 2024 12:30:59 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="KJEiuq6s" Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.12]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 81BFC3FB16; Mon, 4 Mar 2024 12:30:54 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.12 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709555456; cv=none; b=Rng24k6PDiEIVaY8vRgcCR5r+qNIfv18vVcsFmsGv/EQZliPX2AVdqywgfJezQuPsVxFXGnAuQyokazpvY/97lnGefdmnMV6RKV7kBiEFgGrG9MoFStpNcyPaoYnn9IZ3CmGu15koMTU68Nw1DD8jGy6eN+QEa33XVv/c5Z4vuA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709555456; c=relaxed/simple; bh=ra/vhkklVUsTKlnEDSH9uXk+a4uvGp0G/qCYEiSyYhY=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=egO4ZOaZMUMuinUi3+o8I75hHFdycUCceKiJSb8RQc2e1mBvPcxbAC0KHobCcCbSQKlpfATsegSQDBLKTSuPq3XbYcxM+x6FkJVNXy37wqkOx+A1iNUMoKhvf98ig26TFMao0FUQdDA8DuhevVxxcuRXg0beWLibhwHwz6+jlzI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com; spf=none smtp.mailfrom=linux.intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=KJEiuq6s; arc=none smtp.client-ip=192.198.163.12 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=linux.intel.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1709555454; x=1741091454; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=ra/vhkklVUsTKlnEDSH9uXk+a4uvGp0G/qCYEiSyYhY=; b=KJEiuq6s1JyZ4djgPipAwwSGY3T7cF48SDf33s/pvPeJC3zN6qrZtu1L XmHrrgaVnDUcE1m4VpPn2vmGjHcgr/Bs6s85RWh8XMrVcLiLf/nKoLJKI 9Efa6Ps5NlV7C5QyZU71nMwHP+gyZZtRC4/9FZ7TBsZj0VmSmMHxDxz0S /kK2r+Fa4OcGV7gWxSFwXenGAPN4tmclDLD23nNQrFxCa85SwAXxcODFd +Gy3cHFoygH+kGOfopGde8pxMGZTvUI+z+R5lCmCL/gjZvOVoYsxKItPA 810yBacUm5cjWys+VTMSf7CavtUHabB22UVTanu81ewJa37ZFuWrCg9R0 Q==; X-IronPort-AV: E=McAfee;i="6600,9927,11002"; a="7815216" X-IronPort-AV: E=Sophos;i="6.06,203,1705392000"; d="scan'208";a="7815216" 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:52 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,11002"; a="937040435" X-IronPort-AV: E=Sophos;i="6.06,203,1705392000"; d="scan'208";a="937040435" Received: from black.fi.intel.com ([10.237.72.28]) by fmsmga001.fm.intel.com with ESMTP; 04 Mar 2024 04:30:45 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id E4614BA9; 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 14/14] serial: 8250_uniphier: Switch to use uart_read_port_properties() Date: Mon, 4 Mar 2024 14:27:15 +0200 Message-ID: <20240304123035.758700-15-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.43.0.rc1.1.gbec44491f096 In-Reply-To: <20240304123035.758700-1-andriy.shevchenko@linux.intel.com> References: <20240304123035.758700-1-andriy.shevchenko@linux.intel.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1792603825781621828 X-GMAIL-MSGID: 1792603825781621828 Since we have now a common helper to read port properties use it instead of sparse home grown solution. Signed-off-by: Andy Shevchenko Reviewed-by: Kunihiko Hayashi Tested-by: Kunihiko Hayashi --- drivers/tty/serial/8250/8250_uniphier.c | 17 ++++------------- 1 file changed, 4 insertions(+), 13 deletions(-) diff --git a/drivers/tty/serial/8250/8250_uniphier.c b/drivers/tty/serial/8250/8250_uniphier.c index 6399a38ecce2..670d2ca0f757 100644 --- a/drivers/tty/serial/8250/8250_uniphier.c +++ b/drivers/tty/serial/8250/8250_uniphier.c @@ -162,7 +162,6 @@ static int uniphier_uart_probe(struct platform_device *pdev) struct uniphier8250_priv *priv; struct resource *regs; void __iomem *membase; - int irq; int ret; regs = platform_get_resource(pdev, IORESOURCE_MEM, 0); @@ -175,23 +174,12 @@ static int uniphier_uart_probe(struct platform_device *pdev) if (!membase) return -ENOMEM; - irq = platform_get_irq(pdev, 0); - if (irq < 0) - return irq; - priv = devm_kzalloc(dev, sizeof(*priv), GFP_KERNEL); if (!priv) return -ENOMEM; memset(&up, 0, sizeof(up)); - ret = of_alias_get_id(dev->of_node, "serial"); - if (ret < 0) { - dev_err(dev, "failed to get alias id\n"); - return ret; - } - up.port.line = ret; - priv->clk = devm_clk_get(dev, NULL); if (IS_ERR(priv->clk)) { dev_err(dev, "failed to get clock\n"); @@ -211,7 +199,10 @@ static int uniphier_uart_probe(struct platform_device *pdev) up.port.mapbase = regs->start; up.port.mapsize = resource_size(regs); up.port.membase = membase; - up.port.irq = irq; + + ret = uart_read_port_properties(&up.port); + if (ret) + return ret; up.port.type = PORT_16550A; up.port.iotype = UPIO_MEM32;