From patchwork Wed Feb 21 18:31:17 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 204428 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:693c:2685:b0:108:e6aa:91d0 with SMTP id mn5csp1294668dyc; Wed, 21 Feb 2024 13:01:32 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCX9S58RpzRiq4xWjNVCc7Yv5pOl/tt/tY/clpKTRL8n0lE5F0XpS6HE1n7J8jXeYTfhlV3sbZPjYLEdPTBg5RxRRBScrQ== X-Google-Smtp-Source: AGHT+IG9ma8fdxJY84D/M1KCLZ1HsxEsjG89vvINyriAs9oEv56PWB8TxGm9NdvZDAVBxdtlsdNt X-Received: by 2002:a05:6512:3b89:b0:512:b3a3:4adc with SMTP id g9-20020a0565123b8900b00512b3a34adcmr7873825lfv.0.1708549292299; Wed, 21 Feb 2024 13:01:32 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1708549292; cv=pass; d=google.com; s=arc-20160816; b=pfaKdTW3Me6nUQHlzLWz2yi0DTWLEterAepR9DetPgiW6x205QDOn0IEq/wsetaa1C lzk7YVxTgTcTCpQ8yR3ZIXiyCsJdwXtJJy4PRp+kj8Q0qm1f5hoZKCbujWGQ6dXvIeug nzKQC6YunnpJJKRcDI35aBtuSMKKs6ltl32nUMCtnLjqnAExIRbAHZsoohAXYEMzxz9c L5WGrl44lxYCPo3Nu5Ms9pdBNl8RuD4iJ+7oEiktvjPJiBAg1EFd1xCRJE+RRExW7Ul4 vp+isROGRWhieHFvb0QwKcEcM0EGoDjphiaHlVX8ouCaw+6h3M8nV0LjmWZDuJV/ggrd n+dQ== 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=Cukjv/R5RWJx9mUZrF7moCMnb0BlzmKaGBN94Zzvv94=; fh=DQO/uZLNCRUCopnCjgvjwrYRqhOKm6kRcB9Xlmdk8BI=; b=0yCufBp8IftlSUBm47oKV9Tg4PonPqVU/jN2XgoHhkNzlPmwHmUJDVbGlk4nPm0v3x m2jsjPlthvXY7ga5tdYqXUfQHc1QX6p++kgZUMPF/AxeD7J/QrgXyNg13omtx7RaTL9p WWVq+amOIJN2UVxIhaBYxBpV/PX7zv+rQLICsf/izliaLyoiqrG7aQBrTtlG00Yy43qj yI/ubrnce59sQrto6LXprrOXy11kBJ5PzORPht9OrtQOBAqswP3zPRZBhTdXFhEO/1JH PM5nBJUWyEPQ0Un7pHFYCLoA5YsnDWNuk9Xu4vmUYL/yzIgrE5CX/oaTKWiesl3J6+Eq ld+w==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=BFzoC4XD; arc=pass (i=1 dkim=pass dkdomain=intel.com dmarc=pass fromdomain=linux.intel.com); spf=pass (google.com: domain of linux-kernel+bounces-75305-ouuuleilei=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) smtp.mailfrom="linux-kernel+bounces-75305-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 l9-20020a170906414900b00a3e53aeb48bsi3834658ejk.523.2024.02.21.13.01.32 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 21 Feb 2024 13:01:32 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-75305-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=BFzoC4XD; arc=pass (i=1 dkim=pass dkdomain=intel.com dmarc=pass fromdomain=linux.intel.com); spf=pass (google.com: domain of linux-kernel+bounces-75305-ouuuleilei=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) smtp.mailfrom="linux-kernel+bounces-75305-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 882CA1F25E96 for ; Wed, 21 Feb 2024 18:36:01 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id A9D5B8664A; Wed, 21 Feb 2024 18:35:02 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="BFzoC4XD" Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.7]) (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 225358563E; Wed, 21 Feb 2024 18:34:58 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.7 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1708540500; cv=none; b=EsjK68S2NaSVECmlbRL97bnTzp/cX+kf2F37qKX16EyHziwe9giyMBIeBPshZdUB316MDVzzBMAQki33weX2xCNUM+VbQS2hklf1ea5nxPPtu+Rm1HqRV6VNW9q+SUINqpRCeP6jnoZhdrJFizwKpa8dkL5hVEl/Ga18UbWBh9Q= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1708540500; c=relaxed/simple; bh=GKzrAAQ/SAD+M4CCaHIYdelfWhk61yKpviB6x4LqmT4=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=aMHpHj8NSCd23MJYn1nGBhqi9gFvdQwXwojxpGAMIBRgZPmOW09/t/n5R380GBW8vgL6qZDapWnl8LqU9E2csEyToyghMZOUeL1f0F3U0CFzcnfCaOaPWWaC+MJ6j0OguKiz4dieOGeuBZHb3m4RKnyPT6D7aWUVkRj6mFYoOM0= 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=BFzoC4XD; arc=none smtp.client-ip=192.198.163.7 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=1708540499; x=1740076499; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=GKzrAAQ/SAD+M4CCaHIYdelfWhk61yKpviB6x4LqmT4=; b=BFzoC4XDL/qITWgpeDoQLuLAAOt1kB8lvR+0uJVgNYKx8K8BBwGjkhfT BRvuve5KPsFhY9g0iar7O1gVRNh/wLHeitEnxNmzI0EJcEPtEFa6/vHuD +EDkOYtri/Nnffcp+/34KmhFrY1YFlW67b9K9x6BvKcajc8eih/isijMs F1cLXKupBCL5swAvfqNvPQKHREbcbKWukmgxzzT3PnVrmHPvDhWPzpD9M /jplKefbP0gySxhhklRXk8W2cuN8Fp7lK+V1LXcqgdlPsCvs3Go2uPF4u Pcjr8euUmNscEnPQteUrw/zVj/BOo87194O5ILZItTOnocvZjPo7vvSu+ A==; X-IronPort-AV: E=McAfee;i="6600,9927,10991"; a="28164704" X-IronPort-AV: E=Sophos;i="6.06,176,1705392000"; d="scan'208";a="28164704" Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmvoesa101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 21 Feb 2024 10:34:55 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10991"; a="936684739" X-IronPort-AV: E=Sophos;i="6.06,176,1705392000"; d="scan'208";a="936684739" Received: from black.fi.intel.com ([10.237.72.28]) by fmsmga001.fm.intel.com with ESMTP; 21 Feb 2024 10:34:47 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id B783E144; Wed, 21 Feb 2024 20:34:46 +0200 (EET) From: Andy Shevchenko To: Greg Kroah-Hartman , Andy Shevchenko , Thomas Gleixner , linux-kernel@vger.kernel.org, linux-serial@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-aspeed@lists.ozlabs.org, linux-rpi-kernel@lists.infradead.org, linux-mips@vger.kernel.org, linux-tegra@vger.kernel.org Cc: Jiri Slaby , Joel Stanley , Andrew Jeffery , Florian Fainelli , Ray Jui , Scott Branden , Broadcom internal kernel review list , 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 v1 01/14] serial: core: Move struct uart_port::quirks closer to possible values Date: Wed, 21 Feb 2024 20:31:17 +0200 Message-ID: <20240221183442.4124354-2-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.43.0.rc1.1.gbec44491f096 In-Reply-To: <20240221183442.4124354-1-andriy.shevchenko@linux.intel.com> References: <20240221183442.4124354-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: 1791535865995638123 X-GMAIL-MSGID: 1791543782449155019 Currently it's not crystal clear what UPIO_* and UPQ_* definitions belong two. 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 Wed Feb 21 18:31:18 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 204374 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:693c:2685:b0:108:e6aa:91d0 with SMTP id mn5csp1254076dyc; Wed, 21 Feb 2024 11:35:41 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCVE1bkokubKHKp9lameEtkNWH2bltZKR8ioNJl79hz6jcGCl90aKycI6c3rM6VAKGWJB+2Xc42682DfRA6SWTsG9y5I/A== X-Google-Smtp-Source: AGHT+IGx/E1WKo8QjhlEFyQ6S/5Ck21ojTZVPoBipTY2ucaDtF9pEJ4EGg4i1T6RH2DuecdYWFDb X-Received: by 2002:a17:902:8496:b0:1db:47bb:65d6 with SMTP id c22-20020a170902849600b001db47bb65d6mr15749485plo.58.1708544140906; Wed, 21 Feb 2024 11:35:40 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1708544140; cv=pass; d=google.com; s=arc-20160816; b=G56zmwA1TaazLWI9RrGBLTBe1HDUWV27M0Cmd0mz2hZAt1q01RbvrRdm1bOWwcuR5D 0GdaUsbKONz5KNSnEUPB9NzyGrBzbHjhIUsuySsyEtkPdhEey1SgiToFpICtFvxy++3v GP0fQKg+ttgbxFAq+Wc+F1gXyGejz+okkshTWkf/8st1aM/xM+FVYb7v01zUMs8o+/+g LncrcILsDGMVXXZsc13vnV9Jbs9Jw/VW1w+Jsy0sX+pm6g+rb62H1V0iT+3oYRvXRQWK eZpITxaxP2e4j69hTB7rp/se7FtdyxBjoMMZ9Hf5Ou+uZ7wAaxdAjdNshTuU7h4KnIQO 9z0g== 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=SqkLmTGMsqXCC11DUmn1uKOjpQoLto3lrBv2qiacfuE=; fh=yrE9O525sLNdIXC06sJBIlRUjYfWNm6imQ0cf3A93gQ=; b=MCPmVeJ/Nj7OnuhsB96lHtiHopIfgw6FVyeCfB5VJnV9mwN1b34om3ZTWoyZhSiHAO L4S0HBEYrMW01lKDzSW5P10OIFTxSCdeLrUVlK9icHI3DCcyLSMCc5yNsysL3lZ8HY1W e5ez9HHWbTF7qTFbO93DcgdB1laJ0KEiH3WCQw4UerxF3/B9tiLFjXJWHt3QqbMbWiSY iaQGaN44ODfKpYOf60U173+TcoWIf7HiiA55uqht66PEtdVhOVNbgKPE9HTZOaDNeY3o TNEsW6wT8VvQ054l7z5ldg4k9JPjo37VVyJfusd/U001jLPrF7kR5Ks1aRuBXgEEVwBV R5mw==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=jejBQQc+; arc=pass (i=1 dkim=pass dkdomain=intel.com dmarc=pass fromdomain=linux.intel.com); spf=pass (google.com: domain of linux-kernel+bounces-75307-ouuuleilei=gmail.com@vger.kernel.org designates 139.178.88.99 as permitted sender) smtp.mailfrom="linux-kernel+bounces-75307-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 k10-20020a170902d58a00b001dc42bc9403si661009plh.330.2024.02.21.11.35.40 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 21 Feb 2024 11:35:40 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-75307-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=jejBQQc+; arc=pass (i=1 dkim=pass dkdomain=intel.com dmarc=pass fromdomain=linux.intel.com); spf=pass (google.com: domain of linux-kernel+bounces-75307-ouuuleilei=gmail.com@vger.kernel.org designates 139.178.88.99 as permitted sender) smtp.mailfrom="linux-kernel+bounces-75307-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 686C22869CA for ; Wed, 21 Feb 2024 18:36:07 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 5053585275; Wed, 21 Feb 2024 18:35:03 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="jejBQQc+" Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.7]) (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 1226E85940; Wed, 21 Feb 2024 18:34:59 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.7 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1708540500; cv=none; b=DliA4COkb/4qxSPjbjPy2U05F7Gy9zLIWZ27oNC5HKYFc3hf6i4wtyzI57ZFzwc/9s4R2nMFR4WmK3GDdZqcJgiAoaR/AJmfdF9P38W9ZneFE7THypvkJ4S3qIcwrZdiZZU9lxz7oEMlv0VmRro3uk6hIf/ncUt2uYRGyhsuX4Q= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1708540500; c=relaxed/simple; bh=tmZdQU9N4IY5BcwLubSQEg1Rug6tt9UVDfRrfuekMhA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=M4BvvYpq4mkh34oOIzCvtHjXlZtVdKcc50juZfDl6paVDeX6NgUHVCSIFqQ1WFw1VuYsC2PXDOBp2QOM4m6L85IeEC80iPdTBOAuS/Bp5dLghq9si4SjQ0jh8p+XYeIox7zwtb9GiZaWkMx0pEWDF6mfxp13oP6li0SZBeHSNkA= 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=jejBQQc+; arc=none smtp.client-ip=192.198.163.7 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=1708540499; x=1740076499; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=tmZdQU9N4IY5BcwLubSQEg1Rug6tt9UVDfRrfuekMhA=; b=jejBQQc+bdmjIFcC479yeWf2YNHhg3ycWun96tcRPFZHvxe/O8NS2CIW GjBKto4qcvqP33GwJH539Z9dKb0CNJqqPCSPTYtTbcV58LVzfKT0Uk089 g7rhTFfAcy84Lg2rjdvyBMCXUYCKXUeEvvxB8VTOkLAwOX8tSDai84NHz pt/qtI2tcTh42m6P2TOyxB1jPtk9O7+cTlxr3xfJCrMAP66KEnRC+6XvH z4GV36kHH39ow31JUem0bVAR9sq0B3/akB/KDP4+NYY84NA4z+s485xnf 5Ss8R8igWb25kMnNGlFNDYgjWdk1ToDuYypqIKFF6EXtdDizjgKToy2Bm Q==; X-IronPort-AV: E=McAfee;i="6600,9927,10991"; a="28164731" X-IronPort-AV: E=Sophos;i="6.06,176,1705392000"; d="scan'208";a="28164731" Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmvoesa101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 21 Feb 2024 10:34:55 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10991"; a="936684742" X-IronPort-AV: E=Sophos;i="6.06,176,1705392000"; d="scan'208";a="936684742" Received: from black.fi.intel.com ([10.237.72.28]) by fmsmga001.fm.intel.com with ESMTP; 21 Feb 2024 10:34:48 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id CCD9C34C; Wed, 21 Feb 2024 20:34:46 +0200 (EET) From: Andy Shevchenko To: Greg Kroah-Hartman , Andy Shevchenko , Thomas Gleixner , linux-kernel@vger.kernel.org, linux-serial@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-aspeed@lists.ozlabs.org, linux-rpi-kernel@lists.infradead.org, linux-mips@vger.kernel.org, linux-tegra@vger.kernel.org Cc: Jiri Slaby , Joel Stanley , Andrew Jeffery , Florian Fainelli , Ray Jui , Scott Branden , Broadcom internal kernel review list , Al Cooper , =?utf-8?q?Ilpo_J=C3=A4rvinen?= , Paul Cercueil , Vladimir Zapolskiy , Thierry Reding , Jonathan Hunter , Kunihiko Hayashi , Masami Hiramatsu Subject: [PATCH v1 02/14] serial: core: Add UPIO_UNSET constant for unset port type Date: Wed, 21 Feb 2024 20:31:18 +0200 Message-ID: <20240221183442.4124354-3-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.43.0.rc1.1.gbec44491f096 In-Reply-To: <20240221183442.4124354-1-andriy.shevchenko@linux.intel.com> References: <20240221183442.4124354-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: 1791535997088642468 X-GMAIL-MSGID: 1791538381183237861 In some APIs we would like to assign the special value to iotype and compare against it in another places. Introduce UPIO_UNSET 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..2b0526ae1fac 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_UNSET ((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 Wed Feb 21 18:31:19 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 204379 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:693c:2685:b0:108:e6aa:91d0 with SMTP id mn5csp1257761dyc; Wed, 21 Feb 2024 11:44:40 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCWcZz3kQ7ZCG0DRx/vaCEf5kMjVlCp66WZajI5WJN0RQ8JrLY6cmCxeyb/09d2VvErJxgd0W8YrdKvdni0sxL5ox/T2Yg== X-Google-Smtp-Source: AGHT+IH3cBbo+KipTyJnn4cjBDGmItKiCd8X4VzIqahDdBoNwB5u5PvzRWBIeFHfzH777/7yCd2F X-Received: by 2002:a05:6870:7e07:b0:21e:a9d3:6470 with SMTP id wx7-20020a0568707e0700b0021ea9d36470mr12279365oab.22.1708544680037; Wed, 21 Feb 2024 11:44:40 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1708544680; cv=pass; d=google.com; s=arc-20160816; b=o9T2V+0lEh4TSIiOVoDVodeseMxpbEfeA58Hju8KRSskVmTsp/OrmdfTt3WB2U/ZJK sThEqMtOxg4mrlwaAbwJZQRl4avglWkAmswcfyf3II3NFYh4uhvcwVmktXpU0pGXvEL4 wuf27EpxmsTUEUvZQos2VKhz7LGAGyPd21FXNit7iNFcnkCrnnVSHVbja9dA2KYOorwg lqXFcqmsaBOX4jwQwOFMEdfztauCViAt1rLLEDfjdPEYovRYL9mKbuhXvb+xPZWmEMhr Ebyh5sGtjX6gjomc0bHwZgurhb3YNip96mRujXZJdsN48ZmHi3NvknnQXlDpPKkmsOaP Qxpg== 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=5K/LWQfk0tTGf8JuWe99L3+EsjmvtZKgszkGqtxWAXo=; fh=yrE9O525sLNdIXC06sJBIlRUjYfWNm6imQ0cf3A93gQ=; b=c2tWG2/KfqENkcBPS+AEZTxw14GkM+LC/hrd4xvLZJkYMbXz/0GTSmo8OfXcu47YiS 7Cb/GaEsJsj78S3WvFwd8gMU2vr/1+wiNuvGsG/bAtAghn3jiY9CfXcWNONesgCnRhba RkfRLe0QV0a1S4KKg4kA8NlvxSL+VbKxEZmvALUbY7+sQqd8e4RoRCMjkWPmMmOJGR2v ADmkxkuZmc1dmT9KHR205p+pjt8lV7OolmWEh3Zn+069DlaA1olNfkYZn4oLFXVmkVr4 8l2NviOn+U1hBu6VEcGYsNT7S99dVZCrmlk7ZedmYV5smu8RSrAMdZ7jJmo0ypcEqAXg 7x5Q==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=K1C5Ay0C; arc=pass (i=1 dkim=pass dkdomain=intel.com dmarc=pass fromdomain=linux.intel.com); spf=pass (google.com: domain of linux-kernel+bounces-75306-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:40f1:3f00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-75306-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 w30-20020a63af1e000000b005dc9365a903si8921360pge.704.2024.02.21.11.44.39 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 21 Feb 2024 11:44:40 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-75306-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=K1C5Ay0C; arc=pass (i=1 dkim=pass dkdomain=intel.com dmarc=pass fromdomain=linux.intel.com); spf=pass (google.com: domain of linux-kernel+bounces-75306-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:40f1:3f00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-75306-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 AEEB6B24DDA for ; Wed, 21 Feb 2024 18:36:16 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 3BA138563C; Wed, 21 Feb 2024 18:35:04 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="K1C5Ay0C" Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.7]) (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 C8FDC8564D; Wed, 21 Feb 2024 18:34:58 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.7 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1708540500; cv=none; b=sOZ2bI8sFvN57/w4CANbwm31jRNBEVUzFbAeMQwMu9LCNLB5CVRpEK4erHCqPdU+YyNmXAxM5iG2+XajbeB48xsDdGQf9M3A2HNtozMfUa754/CEbG+FT62pKyQXYOUaxhm+Oxdj7x0N81uE6/vF/YHnDXxBspQ0e15lfy9R9XM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1708540500; c=relaxed/simple; bh=I4lO6MagkDaFdZKLWh5rqmLxpQuCDQmwf3i8KwokS+U=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=pCbPQZT+VL/ROtQCG7f9G94CWKAyJ+v8krYeEV5L930oY/fwvWStn2W2gKCg+eRA0lC42FlI9ASZM1CNUzS1BJY17pUjLYSuhSiNEvWMyq8eM2ytL4bDUMULICQuh5dwWm3785bcYjtlLiB1lrQHTJAYixiloUHBQSdjm7PrrqY= 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=K1C5Ay0C; arc=none smtp.client-ip=192.198.163.7 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=1708540499; x=1740076499; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=I4lO6MagkDaFdZKLWh5rqmLxpQuCDQmwf3i8KwokS+U=; b=K1C5Ay0CBtO3If/MXpF0MNUzm3A/coy+m5HOiloBHNadC9w8DMf2YYBw 3XciZn7Dqsnrt4J4ebl6yLsm6+d0/lWkMPy+gPV4dpbKexCoRcVencs4Y UoFg/9VI1DbBa/CRyxYrlhTk0lvDZ1fI48yVCcHrsfGS5JYp8qfQH0q7n dTOtizXmEEWvFcym4+Hc0zdMv6YR9anoJBSgF9j1bCRRpdVQpery4C6zP YC8HnobtZjZFju+u0OxSPDT7sWH9ZCnuhN6xxyGSfanDdYjayfuzRK+vI 9tq2NORBWlcY7xSqvXeOQSIFU2ZjEAH3Bz4GnBugEhOn+OnCuUNr0RR5N A==; X-IronPort-AV: E=McAfee;i="6600,9927,10991"; a="28164725" X-IronPort-AV: E=Sophos;i="6.06,176,1705392000"; d="scan'208";a="28164725" Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmvoesa101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 21 Feb 2024 10:34:55 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10991"; a="936684741" X-IronPort-AV: E=Sophos;i="6.06,176,1705392000"; d="scan'208";a="936684741" Received: from black.fi.intel.com ([10.237.72.28]) by fmsmga001.fm.intel.com with ESMTP; 21 Feb 2024 10:34:47 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id DB5503D3; Wed, 21 Feb 2024 20:34:46 +0200 (EET) From: Andy Shevchenko To: Greg Kroah-Hartman , Andy Shevchenko , Thomas Gleixner , linux-kernel@vger.kernel.org, linux-serial@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-aspeed@lists.ozlabs.org, linux-rpi-kernel@lists.infradead.org, linux-mips@vger.kernel.org, linux-tegra@vger.kernel.org Cc: Jiri Slaby , Joel Stanley , Andrew Jeffery , Florian Fainelli , Ray Jui , Scott Branden , Broadcom internal kernel review list , Al Cooper , =?utf-8?q?Ilpo_J=C3=A4rvinen?= , Paul Cercueil , Vladimir Zapolskiy , Thierry Reding , Jonathan Hunter , Kunihiko Hayashi , Masami Hiramatsu Subject: [PATCH v1 03/14] serial: port: Introduce a common helper to read properties Date: Wed, 21 Feb 2024 20:31:19 +0200 Message-ID: <20240221183442.4124354-4-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.43.0.rc1.1.gbec44491f096 In-Reply-To: <20240221183442.4124354-1-andriy.shevchenko@linux.intel.com> References: <20240221183442.4124354-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: 1791538946438363726 X-GMAIL-MSGID: 1791538946438363726 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 | 135 +++++++++++++++++++++++++++++++ include/linux/serial_core.h | 1 + 2 files changed, 136 insertions(+) diff --git a/drivers/tty/serial/serial_port.c b/drivers/tty/serial/serial_port.c index 88975a4df306..111e1f25fbc6 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 @@ -82,6 +85,138 @@ void uart_remove_one_port(struct uart_driver *drv, struct uart_port *port) } EXPORT_SYMBOL(uart_remove_one_port); +/** + * uart_read_port_properties - read firmware properties of the given UART port + * @port: corresponding port + * @use_defaults: apply defaults or validate the values + * + * 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 + * ->iotype (if @use_defaults is false) + * ->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. + * + * When @use_defaults is true and the respective property is not found + * the following values will be applied: + * ->iotype = UPIO_MEM + * ->regshift = 0 + * In this case IRQ must be provided, otherwise an error will be returned. + * + * The ->irq, ->mapbase, ->mapsize are always altered if no error happened. + * + * 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 + */ +int uart_read_port_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 = use_defaults ? UPIO_MEM : port->iotype; + } 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_UNSET; + 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; +} +EXPORT_SYMBOL(uart_read_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 2b0526ae1fac..c93d775fc8a8 100644 --- a/include/linux/serial_core.h +++ b/include/linux/serial_core.h @@ -962,6 +962,7 @@ 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, bool use_defaults); bool uart_match_port(const struct uart_port *port1, const struct uart_port *port2); From patchwork Wed Feb 21 18:31:20 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 204427 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:693c:2685:b0:108:e6aa:91d0 with SMTP id mn5csp1288004dyc; Wed, 21 Feb 2024 12:45:35 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCUC+1em8NfRpxV1my3/J6Jjz4/W5jSvh+YPBvrYT7YtBX6BGGozi/w6Cb1nA7YiqM0DoiTT6aUVQdyUUd6DIJ0JyG9JEw== X-Google-Smtp-Source: AGHT+IHy5cL2q/SPRuPQ21GgGQIylaCP7A3OFsN8L6yQo0fOI3NjQgNXRGfBNOt0BZb0EuZW3GzL X-Received: by 2002:a05:6a20:6f96:b0:1a0:7f19:b2b1 with SMTP id gv22-20020a056a206f9600b001a07f19b2b1mr18435149pzb.26.1708548335480; Wed, 21 Feb 2024 12:45:35 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1708548335; cv=pass; d=google.com; s=arc-20160816; b=lAw431wzWsvH/9vfOL3UlVD4H/E3YVjG7U/X1VdsumoPGDE0udZ8rD/sCxfTkOrEzn Y9ew950/5SplCaZd2xp7EcphShk4qFQ86HU0Whu5KiQvvpx97erTBkHvxS9uFe14cS8S KUcdsevJ1vDrDORScXYOn1b+YLgahSnnQwhqddcpq8A6VaQIKvK5qWOMiSHlyTfm7HvL twW1fArjm8ZVT9k3AXDCcItomXXyXyvAX0+P9fsS1crwpgFKCV28hWuDw2j9OFh/ftDm 88XFk/skxO4iKER9gC6mXKciTuNyMEUwRwlLq6Ocxu91AFHjiRKCcIlK4ehOKpQge05y UiJw== 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=Lxn/oSgZAr27Z1L9HC390JXVv9zHHhlhyRmVIT+eW5k=; fh=DQO/uZLNCRUCopnCjgvjwrYRqhOKm6kRcB9Xlmdk8BI=; b=p/UQtPBd178Ptsq2mvdIC6uS9cfGeUbGyAY5uUOZTjNtzxuIfLsYr21KQVCM5yXo/U f10op2MY2DrlzG8OhQwGiU0Uk3YV3bWI9bHiXH/mIRnRNShnt6SOfMki+hOHFflceWAB lhI3Fq8q0P+hX9Jl/McgV8NVsLvteSMrjSywsFwqX3GUCf8+z5POvNV2N/XfOCgSXLmD 8OUd+cbJ6d8z8PspiXDlzCpuT8AMiJfzFYFwMxZM1nNHsh4AmB8QZNsbIdMKon9jvKvN Ne6CH/0acJRVfn2DFLP3BvBiiclBIJoUvF8YBrr+4Zl1ocJNY1HuilOPOOETa49EdVXd k6ow==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=OcD9DmB1; arc=pass (i=1 dkim=pass dkdomain=intel.com dmarc=pass fromdomain=linux.intel.com); spf=pass (google.com: domain of linux-kernel+bounces-75304-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:40f1:3f00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-75304-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 u6-20020a17090282c600b001dbad3d9ca4si8398673plz.648.2024.02.21.12.45.35 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 21 Feb 2024 12:45:35 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-75304-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=OcD9DmB1; arc=pass (i=1 dkim=pass dkdomain=intel.com dmarc=pass fromdomain=linux.intel.com); spf=pass (google.com: domain of linux-kernel+bounces-75304-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:40f1:3f00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-75304-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 4AAAEB24929 for ; Wed, 21 Feb 2024 18:35:50 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id DA2C18662E; Wed, 21 Feb 2024 18:35:01 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="OcD9DmB1" Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.7]) (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 BEC1D3C068; Wed, 21 Feb 2024 18:34:56 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.7 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1708540498; cv=none; b=qsAHKL6RKLeOHWn6fBbMLygjp+UGoEzJ9CrGAUtBXBd6s7WrltbkrzRlY0xBRJb6zwBfqnLHc+bnPYttmaTkD9cGMp1SWSwBzUgjKabsU1Y2OQoLU9t7XGfceMuno6NXTijjViB+5acEzgph1NczUCqGJtK1Df3lDSG9rBMf1a8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1708540498; c=relaxed/simple; bh=dYynpd7BpWY3yNBCHCGwe1IyzPj618I/HKzMJe4rUOU=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=CyLqaob4/sKrWy0fiBfA5SZvDPrzPVy702x0vPPc+SN6X8PNF30I2LxEdTgWawUAKnC48M4Aa9W0Pwj8OJOz1WOoCmh5utjS+i48P6WJCTbOAOapALRsfbWm9SMRx0K8aLFF6nMyWAaGfDlAxEY2vtZsjz3WOfWUdUdCnEuejMQ= 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=OcD9DmB1; arc=none smtp.client-ip=192.198.163.7 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=1708540497; x=1740076497; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=dYynpd7BpWY3yNBCHCGwe1IyzPj618I/HKzMJe4rUOU=; b=OcD9DmB124M9oL1YfCGGLodiTjgpKO/k+aDAEgp6EZEeXilz9LEpMECC K3cAn4+oqecQ3G67GsY/Eop5aUNDsAShIZQ+GIR0VSgwN384Xmp4x4eTM SUwF9vZCuosgRZfMDZ7FJr3UAFQsEhJam7svu70JW51XVNy7eNjBXAul6 cAbP5HT24K6TzgIW/SB3HBKmgK0XxolU/HsYKunwMetyOSkxnDzfls9Xg LNb4hAR7bGPzoYbV/1vijsY7bmn/MPi9DYlP/Snh8YvtXQvPDR3/mkQzy kz08H6Fy4aX0yxnTG2BlafhmJC+mqaFoO8Rk+PfQc0d5lrBrOqx7sCbNG Q==; X-IronPort-AV: E=McAfee;i="6600,9927,10991"; a="28164688" X-IronPort-AV: E=Sophos;i="6.06,176,1705392000"; d="scan'208";a="28164688" Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmvoesa101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 21 Feb 2024 10:34:54 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10991"; a="936684740" X-IronPort-AV: E=Sophos;i="6.06,176,1705392000"; d="scan'208";a="936684740" Received: from black.fi.intel.com ([10.237.72.28]) by fmsmga001.fm.intel.com with ESMTP; 21 Feb 2024 10:34:47 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id EA46D3F4; Wed, 21 Feb 2024 20:34:46 +0200 (EET) From: Andy Shevchenko To: Greg Kroah-Hartman , Andy Shevchenko , Thomas Gleixner , linux-kernel@vger.kernel.org, linux-serial@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-aspeed@lists.ozlabs.org, linux-rpi-kernel@lists.infradead.org, linux-mips@vger.kernel.org, linux-tegra@vger.kernel.org Cc: Jiri Slaby , Joel Stanley , Andrew Jeffery , Florian Fainelli , Ray Jui , Scott Branden , Broadcom internal kernel review list , 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 v1 04/14] serial: 8250_aspeed_vuart: Switch to use uart_read_port_properties() Date: Wed, 21 Feb 2024 20:31:20 +0200 Message-ID: <20240221183442.4124354-5-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.43.0.rc1.1.gbec44491f096 In-Reply-To: <20240221183442.4124354-1-andriy.shevchenko@linux.intel.com> References: <20240221183442.4124354-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: 1791542779236832807 X-GMAIL-MSGID: 1791542779236832807 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..2a4bc39b11af 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, true); + 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 Wed Feb 21 18:31:21 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 204477 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:693c:2685:b0:108:e6aa:91d0 with SMTP id mn5csp1338717dyc; Wed, 21 Feb 2024 14:45:09 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCUxPWvuztYh9JduUDG/e3nDPNWfGHXO7+jKFbC9GcpaOhtD9I3vQhQkUaafK4498O+Gqk4MbaNv9Du8NsPD3sBVJX7JTQ== X-Google-Smtp-Source: AGHT+IGCcizIAGFd2BQ292ZK7xuVO+qZGERhFra/JffSspVK2g4C0lGpGPxbnRaAT7dCbUf4mIkF X-Received: by 2002:a17:90a:8c07:b0:299:3c73:8d2b with SMTP id a7-20020a17090a8c0700b002993c738d2bmr12275486pjo.14.1708555508895; Wed, 21 Feb 2024 14:45:08 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1708555508; cv=pass; d=google.com; s=arc-20160816; b=S7QC314xUOsqTiDiVLn6r4hI0zDehI2C1sDdcwFIv37YBWQXtAqcEtrx1yFLmwFM5D C6YhiGbvIX+BLF718ho/JI/Sl6yFnAOlnXly9gI7rJn5azzWtPA/WgYZ/fcCIe1Qi6NM 6TXNr30nKR2IJEl2FNZwQ1vq0MKGVO8HnIObfv/IxH1lQMxQ8PEp+ARQN3MmXJeilf24 7eu64ORy1w5gigtqqhlDB6BCwIqsca651kPdzHdHyYVucs51VgMRPEGzmobbvyuh5MHi 4lWrXPrzDmWFBNO3TpK47k0h8J4seunyycS3Ok9h0bKO61NcXqJPc81fxQPiQdt1Q2F0 Qtiw== 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=rEr2dcM2n2PDnZDbIaFJ2pEE64nlzscxhpVs8id9V0g=; fh=yrE9O525sLNdIXC06sJBIlRUjYfWNm6imQ0cf3A93gQ=; b=Manyswnt52GsKa/1fjtPW88QwnSpWVBgHZ83Fc31sw7qsOjAIXrDWfyKrDTtO0cP/H 2SZlXy315QwJQiuJmu0PPfRrBucXa3gaoa0kasaUQFaZvx5O1r9P4T0SwqgEN4+hZdm1 RpR3CAQVdKQWEd5m+fqGnCG/yuZOYKMUwqnpDx0ZxRcPSJ7YVy0pTPi4ZujTD/LGSS3P YLkpu34U5RX5HF441oxk8De0nZH1mKZNkn6Y8A1EwCeV/Meg4BLGHIxDa14ZFRLowspB 3MiJLRqzNB3+5Z94NbVb5Kgie74Lse23PMDY3BgM+dtdGEhRnUBUDOJqw11DTLD+0seS Wpuw==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=PSUSXby5; arc=pass (i=1 dkim=pass dkdomain=intel.com dmarc=pass fromdomain=linux.intel.com); spf=pass (google.com: domain of linux-kernel+bounces-75310-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-75310-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 y4-20020a17090aca8400b002970e888ea6si9049358pjt.87.2024.02.21.14.45.08 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 21 Feb 2024 14:45:08 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-75310-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=PSUSXby5; arc=pass (i=1 dkim=pass dkdomain=intel.com dmarc=pass fromdomain=linux.intel.com); spf=pass (google.com: domain of linux-kernel+bounces-75310-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-75310-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 E4E702875EB for ; Wed, 21 Feb 2024 18:37:48 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id A690D12A169; Wed, 21 Feb 2024 18:35:15 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="PSUSXby5" Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.7]) (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 5933486AE2; Wed, 21 Feb 2024 18:35:04 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.7 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1708540506; cv=none; b=uVt2nioiRoLmRwhKvsscZ5kqG+mYfKVYjLuv2FEWeYySmxFoxyTNOYeLNoqzTN/uX99uMLNAweuh1991/7qCJkXppEMdJsavjRyolYGX5sLfFnanE6v9tS5vj5amcGB7hh8htS9eU00sT8Sr/ASS/BRyFEMeqE5Pjq89yQfnKYY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1708540506; c=relaxed/simple; bh=gldZ/Cbp9u0amwonRgNlffL/8B/cyCZTIV2zvUcgOTM=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=cMzeuOHBtk80e/5fXJqe4uU29X+jgRHJbWRpGvLRiDqcarwRiF/HjYk60ottM05FEurOitrUo+1nxJDqDKiFQTX4+dxYiCxSUnYWUgy3H/gfB+aMHILLUGEN7g5IvozLF/9PlTtYuq0muYpqVqHc/NvaEakwzoNM7x6T86d8kTc= 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=PSUSXby5; arc=none smtp.client-ip=192.198.163.7 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=1708540505; x=1740076505; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=gldZ/Cbp9u0amwonRgNlffL/8B/cyCZTIV2zvUcgOTM=; b=PSUSXby5N5WRWK+lq2jrpRweOrHurZ85MrN8FSopEr/Z5dZqsD8uO1Pn 55lllRppjkHj+b00QOnCiXsaBrofdFw+JtbVXLgMh6oEjkgO0jw67Q7Lb teictje4CMelAAvEKPQus5UsQwSYe8AFk3SUq8WXeJ+06DWpJ0H2ujG+b NUOQ6dRIft5RPGQaSXr7EDDRkr7TMvoSNkpRwq/BD1MjvJQXttNEnMtRS XD5hEaADFtGqyWZ7eadZzR0gDHKOMkux7gMkCcSObq7ayHe+z8MEXnF9r 9tlwzSPksOpmzIT2kiHcA+Q6hA+3+cRvvFJLsMUR654TySShmx+JZVzKj A==; X-IronPort-AV: E=McAfee;i="6600,9927,10991"; a="28164793" X-IronPort-AV: E=Sophos;i="6.06,176,1705392000"; d="scan'208";a="28164793" Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmvoesa101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 21 Feb 2024 10:35:02 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10991"; a="936684751" X-IronPort-AV: E=Sophos;i="6.06,176,1705392000"; d="scan'208";a="936684751" Received: from black.fi.intel.com ([10.237.72.28]) by fmsmga001.fm.intel.com with ESMTP; 21 Feb 2024 10:34:55 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id 091B3458; Wed, 21 Feb 2024 20:34:46 +0200 (EET) From: Andy Shevchenko To: Greg Kroah-Hartman , Andy Shevchenko , Thomas Gleixner , linux-kernel@vger.kernel.org, linux-serial@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-aspeed@lists.ozlabs.org, linux-rpi-kernel@lists.infradead.org, linux-mips@vger.kernel.org, linux-tegra@vger.kernel.org Cc: Jiri Slaby , Joel Stanley , Andrew Jeffery , Florian Fainelli , Ray Jui , Scott Branden , Broadcom internal kernel review list , Al Cooper , =?utf-8?q?Ilpo_J=C3=A4rvinen?= , Paul Cercueil , Vladimir Zapolskiy , Thierry Reding , Jonathan Hunter , Kunihiko Hayashi , Masami Hiramatsu Subject: [PATCH v1 05/14] serial: 8250_bcm2835aux: Switch to use uart_read_port_properties() Date: Wed, 21 Feb 2024 20:31:21 +0200 Message-ID: <20240221183442.4124354-6-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.43.0.rc1.1.gbec44491f096 In-Reply-To: <20240221183442.4124354-1-andriy.shevchenko@linux.intel.com> References: <20240221183442.4124354-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: 1791550301243106573 X-GMAIL-MSGID: 1791550301243106573 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_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..69c3c5ca77f7 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, true); + 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 Wed Feb 21 18:31:22 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 204444 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:693c:2685:b0:108:e6aa:91d0 with SMTP id mn5csp1310593dyc; Wed, 21 Feb 2024 13:35:34 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCWzXMzjZh1zohM3GZsX4vA9oCOUWq89n8taxcp7g7NH++xLdzlYoaHNopHfOa58sh202x8i22hmDjJimzYuQ2B1k/90JA== X-Google-Smtp-Source: AGHT+IFPwr054F+Ik48/bxEhQAWyKCd6HndzHe4JcBjN411Q4V8JVU8x3ecKDZfTp93roY4mjT8s X-Received: by 2002:ac8:5ed7:0:b0:42d:d526:4cb5 with SMTP id s23-20020ac85ed7000000b0042dd5264cb5mr15830383qtx.61.1708551333883; Wed, 21 Feb 2024 13:35:33 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1708551333; cv=pass; d=google.com; s=arc-20160816; b=YPODSlScVzTOwoeP1oK3tiC3gIiPwBN8uRDBwznUU4oVJi7qok0/XL4hm+mgECoxAu 0oX+DXOSLirqzy2vA5kSYXmMFgc8SB1GKjj1XRrNwdFyi8FLAy2irKRWtbdAuKPBLPd+ NpE+PanGBygeyYsfs5RZtXWBO7Ow2F3ga3v6LNb0qEeyRNymXg3g3TtpzsEHuJlboO08 7Xs/QcP6iZBzZafGwOSXpfstLbzjCrEHU6yrg2R5PlKK9vNhUB7FGE5itVAisEjfCS+L iE2/Y1lF4MiZOpjhFoH/mQK4wiOUJH2+Y0UQYREa+sb7lwjtpVwQzM+q48wWFbcXapfK iFtw== 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=U/btvuIZXNZZrDMHSo6haG4L8TqfoBeTvLW5fapyIgQ=; fh=yrE9O525sLNdIXC06sJBIlRUjYfWNm6imQ0cf3A93gQ=; b=yJ7cudJyLpN9bjJa9I9m8Imbfbpu98Y6rn6K8BFKgnHdPCrBwJySS0C6L/t35Ahq7n XWLrpXaXJkY3tnihwEQtwR55oPSlQWHbjBA5NiCM+AZzqI8LT2H0ec8cyDHLbknwSFvs seCS3s974LUIycNv5N9CKDqfezJjhszknHGKMaigp+pwBsiNaKv6QbebWuNArmERyAIk Gqr7m2CR44N7//KtsPzg3DW/nKpEDCwicVwMx+Cky9PBzopurBpQEOiMCoDx1w8VqVaV aXLDv27Jnf+ST2KUWivrZ/oDiRMSsv4tn67QV8CRwpni7vxTRoX5fvnzbZNam7jZsode i0qQ==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=MPIScU2W; arc=pass (i=1 dkim=pass dkdomain=intel.com dmarc=pass fromdomain=linux.intel.com); spf=pass (google.com: domain of linux-kernel+bounces-75308-ouuuleilei=gmail.com@vger.kernel.org designates 147.75.199.223 as permitted sender) smtp.mailfrom="linux-kernel+bounces-75308-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 y12-20020ac8524c000000b0042de91145f4si11133080qtn.728.2024.02.21.13.35.33 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 21 Feb 2024 13:35:33 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-75308-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=MPIScU2W; arc=pass (i=1 dkim=pass dkdomain=intel.com dmarc=pass fromdomain=linux.intel.com); spf=pass (google.com: domain of linux-kernel+bounces-75308-ouuuleilei=gmail.com@vger.kernel.org designates 147.75.199.223 as permitted sender) smtp.mailfrom="linux-kernel+bounces-75308-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 E89B21C24521 for ; Wed, 21 Feb 2024 18:36:48 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 4A99D1272CB; Wed, 21 Feb 2024 18:35:08 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="MPIScU2W" Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.7]) (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 438B48663E; Wed, 21 Feb 2024 18:35:02 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.7 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1708540504; cv=none; b=nODZbHfXbOjlM/NHWJPXOKADqTFZuExM8RvTZ7Kipz5Pmc+vCoT8qphoHVgauqv9bduXFGtc9iImLhOEOzQ41Vq/F1f+h/80h7PJTYJhgWeyCBe7lV24EUG+aqisvbA14RwC/MqxSE9kJTq09M4/Xul8HqMmGop2kxQXLHvGovI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1708540504; c=relaxed/simple; bh=4UcL4BkrrA48FaRG5BWoOyofknmODC7RJONPDVqFX3k=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=A2k5LKO0fk5A5Ym2C6WCGIrhnQCzbhbCp9OvmhFA2iJsZg/DszxKu2QCv1zVVzcVXfWwf1A/5o8GQRqO9dvPYq9vd4/gDkOK5M8G9yubJ0NEbttkBQhIlnihjcVAIS6x4UwaC+oF/jLqwJWNg2cqOmMxpJis4PTnewKOZcx+xes= 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=MPIScU2W; arc=none smtp.client-ip=192.198.163.7 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=1708540503; x=1740076503; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=4UcL4BkrrA48FaRG5BWoOyofknmODC7RJONPDVqFX3k=; b=MPIScU2Wd1m1pcRA1qVMqcAAkPqf3uaCq3jNCigHuMngwCl8lqtkSUGT JJKgp1VKzaivbxKvRGR6C7nf7B3318Lt+LsFgH6ZcEH2QWAHtWoN6KmiL SFotq72eJdvPVxjJq6TJlF5kZ8/RurS462HuZunyzPl+IMNkixifhx1eZ I4iZ6MrbXiy0NGNs21ZGXQ2JHOd+82lMZfaVxOgo0Z3YmdYSGU11VhF4n TzKo15Cq036j+2ijU1E9MA+Xpwp2Iy1xavMoVxPTJtixoa/umX2LIVjZe 66EOKYvoyzYayb5i/l82oi3B+PXDt5SzlVt4eFczjOnIfFpueAnRVISZz Q==; X-IronPort-AV: E=McAfee;i="6600,9927,10991"; a="28164755" X-IronPort-AV: E=Sophos;i="6.06,176,1705392000"; d="scan'208";a="28164755" Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmvoesa101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 21 Feb 2024 10:35:01 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10991"; a="936684750" X-IronPort-AV: E=Sophos;i="6.06,176,1705392000"; d="scan'208";a="936684750" Received: from black.fi.intel.com ([10.237.72.28]) by fmsmga001.fm.intel.com with ESMTP; 21 Feb 2024 10:34:55 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id 1A0CF49C; Wed, 21 Feb 2024 20:34:47 +0200 (EET) From: Andy Shevchenko To: Greg Kroah-Hartman , Andy Shevchenko , Thomas Gleixner , linux-kernel@vger.kernel.org, linux-serial@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-aspeed@lists.ozlabs.org, linux-rpi-kernel@lists.infradead.org, linux-mips@vger.kernel.org, linux-tegra@vger.kernel.org Cc: Jiri Slaby , Joel Stanley , Andrew Jeffery , Florian Fainelli , Ray Jui , Scott Branden , Broadcom internal kernel review list , Al Cooper , =?utf-8?q?Ilpo_J=C3=A4rvinen?= , Paul Cercueil , Vladimir Zapolskiy , Thierry Reding , Jonathan Hunter , Kunihiko Hayashi , Masami Hiramatsu Subject: [PATCH v1 06/14] serial: 8250_bcm7271: Switch to use uart_read_port_properties() Date: Wed, 21 Feb 2024 20:31:22 +0200 Message-ID: <20240221183442.4124354-7-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.43.0.rc1.1.gbec44491f096 In-Reply-To: <20240221183442.4124354-1-andriy.shevchenko@linux.intel.com> References: <20240221183442.4124354-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: 1791545923318236167 X-GMAIL-MSGID: 1791545923318236167 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_bcm7271.c | 53 +++++++++----------------- 1 file changed, 18 insertions(+), 35 deletions(-) diff --git a/drivers/tty/serial/8250/8250_bcm7271.c b/drivers/tty/serial/8250/8250_bcm7271.c index 1532fa2e8ec4..5a25e78857f7 100644 --- a/drivers/tty/serial/8250/8250_bcm7271.c +++ b/drivers/tty/serial/8250/8250_bcm7271.c @@ -942,10 +942,8 @@ static int brcmuart_probe(struct platform_device *pdev) 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,9 +951,6 @@ 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) @@ -1011,7 +1006,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, true); + 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 +1034,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 Wed Feb 21 18:31:23 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 204486 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:693c:2685:b0:108:e6aa:91d0 with SMTP id mn5csp1355186dyc; Wed, 21 Feb 2024 15:26:30 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCUC7vVPz9KqytlUCvrwINFFLgw1WvUCwBpwu1A7LCNuYgzrxSsqA98RYnzCt9eoD1ICAHE3QZxH56CmqopHOZFHTEATHA== X-Google-Smtp-Source: AGHT+IF3eXKB8qPn5hQbhIA1Kob2DC5D3qsqdLKwlFMZaqQ1QN78NlGq77zZ9VL+R5FJ422qP1e9 X-Received: by 2002:a17:906:d9c6:b0:a3f:550c:7d3 with SMTP id qk6-20020a170906d9c600b00a3f550c07d3mr1607259ejb.61.1708557989944; Wed, 21 Feb 2024 15:26:29 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1708557989; cv=pass; d=google.com; s=arc-20160816; b=dbX7ULIFMCRnAXkLcqgXmfQVjqRPovtagsOAPPzgJLZ8AMfLz5BQqo38qgJ+IJ4HOB GquP/CBI0Uyw2EIUGipPiOYh3V4X/O+/sCGeTVcq4jHxGuZyZ2W48BN6michU9rblgLg vYaRiR/Qc6AYdcmpvKJmMIAd4ZX7VpxDULNOh7x7AT8LI3raF7kKXFGUPVztpAuUqRVJ AOkLYhTPCjyDjKo7bgvYVrAP5PLRSkCaodN2b+HrnRFP/jmlpjXDL6zEclP/qQRHQvcr qKN1RDHAELvBbjeC64LoKGur0X9SdsNkQQACiLYTZhQlDy8XKrHe87Qud0AySVo0slP5 ZLUA== 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=Rfv/w1oagO0PWkpRdEXL5v6wHjn1Olf0DAP5t81QMP8=; fh=DQO/uZLNCRUCopnCjgvjwrYRqhOKm6kRcB9Xlmdk8BI=; b=xapjJ/b9DoOO/K1E+CLtrrqeiW0E65Ywk7J5dEmxHo9Nbp59eJUgl7u4Z1VoYsm0XS AO7Ncw1iWrqIpB893qdXKcnJ8rVpKGA43TEObR+HN1j2ylnIsLYiqjkWcIeq3/6pj/d0 fYYNG4AeMXigVZRrt7SP7dsmlTuz0np/khw+xyOQYZca3HPHznwmKi8QQxlA6VUW+8A0 dcAjngkItMPw4AEj3sMZSknWdnDWNIQYeln1FLYmYi68T5i+pU+6mIzCfREf7IJL+yP6 ympzEYNEnz2FRlpaQoNORB4+v1B/2dOkygqo1FlbHTTt7Ey1YdnPZun2X+lk5gTWcS69 9WcQ==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=nZRtpxBX; arc=pass (i=1 dkim=pass dkdomain=intel.com dmarc=pass fromdomain=linux.intel.com); spf=pass (google.com: domain of linux-kernel+bounces-75309-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:4601:e00::3 as permitted sender) smtp.mailfrom="linux-kernel+bounces-75309-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 bq19-20020a170906d0d300b00a3e50678318si3811030ejb.238.2024.02.21.15.26.29 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 21 Feb 2024 15:26:29 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-75309-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=nZRtpxBX; arc=pass (i=1 dkim=pass dkdomain=intel.com dmarc=pass fromdomain=linux.intel.com); spf=pass (google.com: domain of linux-kernel+bounces-75309-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:4601:e00::3 as permitted sender) smtp.mailfrom="linux-kernel+bounces-75309-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 D26B51F26807 for ; Wed, 21 Feb 2024 18:37:23 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 0C7C78663E; Wed, 21 Feb 2024 18:35:13 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="nZRtpxBX" Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.7]) (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 5DBD185276; Wed, 21 Feb 2024 18:35:03 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.7 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1708540505; cv=none; b=JBqvfjmOF//NnsEdQD8tIYC9lgNVqBqWxZXqcUYpzTcUgsf1R7V0SIYudRitlvB/wVovGpmfdKe6X0HlnpCUz4z2lcLIn/Nc5iPF/LwutRGnsIraH74SrLCyou9BEjTSi7VOrni0Y8rN58HfzeMLx9la2B4oRRjpk+2EyoE/xoI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1708540505; c=relaxed/simple; bh=n8M+Zxd5EsI5el7vSlKXZtzNU2WwNtafBo9TBX3vAmw=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=MgA1bbVqlAJy0l73cWWib5Hp189AQ3Dlud0RmwaWQ1NTxXE6MOD/PrY/UUkA8UMQSt7KDdANZty+um4xuYJO5OzJ6uJU/TC2O5upIMINOM5jkG3wKRWpHKLvpjsDc0NYUkzF/+YvGugN7oeIhRWmxiHUycM9kYivwW93LGjSH3g= 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=nZRtpxBX; arc=none smtp.client-ip=192.198.163.7 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=1708540504; x=1740076504; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=n8M+Zxd5EsI5el7vSlKXZtzNU2WwNtafBo9TBX3vAmw=; b=nZRtpxBX3eh0mu+f/Izy1Eh7lS8FUlYtam4g9S7iDeZndZC9VS5yisTA KftP1ZCA8Cc/a5u3g1R8vBpKlfHMPAbbJwjsUT7U53H+BTAbOL51/2c1j iJQO6ocSsCx7sbZDhJVzR4zm+fLYNMxJN4O4CTmOICSxKq1xZp/xwfQcm 3xQVcNSG+P7nQi6OOS7gWrEOg+1R5LBS6FrEiGmXJ3VQpcRehr7wfqcdI 2t3lfUV1KQ+lAjUGiqVlyrHE2h1qV7rKUdaDOdW/O6qqgwwKg0gwv+asa bSBxFkhGgXmIPmEg1NQka3M+HeEdQMG0bQklxjrirfY4AyPYeSh6KwD6V w==; X-IronPort-AV: E=McAfee;i="6600,9927,10991"; a="28164772" X-IronPort-AV: E=Sophos;i="6.06,176,1705392000"; d="scan'208";a="28164772" Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmvoesa101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 21 Feb 2024 10:35:01 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10991"; a="936684752" X-IronPort-AV: E=Sophos;i="6.06,176,1705392000"; d="scan'208";a="936684752" Received: from black.fi.intel.com ([10.237.72.28]) by fmsmga001.fm.intel.com with ESMTP; 21 Feb 2024 10:34:55 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id 2890D4A5; Wed, 21 Feb 2024 20:34:47 +0200 (EET) From: Andy Shevchenko To: Greg Kroah-Hartman , Andy Shevchenko , Thomas Gleixner , linux-kernel@vger.kernel.org, linux-serial@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-aspeed@lists.ozlabs.org, linux-rpi-kernel@lists.infradead.org, linux-mips@vger.kernel.org, linux-tegra@vger.kernel.org Cc: Jiri Slaby , Joel Stanley , Andrew Jeffery , Florian Fainelli , Ray Jui , Scott Branden , Broadcom internal kernel review list , 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 v1 07/14] serial: 8250_dw: Switch to use uart_read_port_properties() Date: Wed, 21 Feb 2024 20:31:23 +0200 Message-ID: <20240221183442.4124354-8-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.43.0.rc1.1.gbec44491f096 In-Reply-To: <20240221183442.4124354-1-andriy.shevchenko@linux.intel.com> References: <20240221183442.4124354-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: 1791552903323828909 X-GMAIL-MSGID: 1791552903323828909 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 2d1f350a4bea..a1825e83231f 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, true); + /* 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 Wed Feb 21 18:31:24 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 204478 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:693c:2685:b0:108:e6aa:91d0 with SMTP id mn5csp1339316dyc; Wed, 21 Feb 2024 14:46:46 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCUEa/GZJKKsad/oTLb+bh+s2KH45YV2KzYyB1bU/h8F/OpP6rOEIexlGoNSiaUhSSdXHTHQ/FDvjceFu1Ko80Sqt3nrPg== X-Google-Smtp-Source: AGHT+IFz1Cajny4AQ5ZziTC5ZTEiPNP/duqTn9qYqD181KmeNsxGTUwqJEbhzHx4kxc7pFrEzCtQ X-Received: by 2002:a2e:8782:0:b0:2d2:4637:63f with SMTP id n2-20020a2e8782000000b002d24637063fmr3872450lji.45.1708555605918; Wed, 21 Feb 2024 14:46:45 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1708555605; cv=pass; d=google.com; s=arc-20160816; b=PdjKjwvYIhUiZtgQYhtDk11Ca7B04lDQGmQxsn/ySkWhW2kZAxyQSK8MmWHSTPsc9W oUphdwGSenytIZqwl7aRsd/0/RIzi9Yxm8/q04GJZFSxAqA+X19y2HIcOcjiXLYeEjKE uzKoTNbsA7Vv3NTXyPTst17/MeaaePWVoiEsRj3uqo5LTZwivYU1O9FTWGsalz4/WV2H +MBe/QLP3lmdh3ePdURROgTJsA3zcn7UChJaYYd0ZQE1wRkck0OQmpY0JZJMttO9XcAN PD9zN+jod68UdmrbfPedWPBem+QMQCjApuvaT6U/ENHNLXyteCaoA4Ss7YtfMJTq7dDm e1Qw== 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=VcDu/xNp1DuGBdmDeTn33x13atB/Gwt/r0k8CfBN5CU=; fh=yrE9O525sLNdIXC06sJBIlRUjYfWNm6imQ0cf3A93gQ=; b=uUKpO8r8NauTLPPO1IVHWbYBf2YoMotOUqRBZx3ZqeUYxenHSeeRtiKz3khlkfj581 fLJRyXommnCzx7B7SQdRX5P98jkDIPbkbDwRvAV7T4JS//d4tFjPyfjztK3l1VjQ3tJC 5VEGOwrLfE/kGgRHmwgjFx+RB3NtCHYqxvytLI6KyjqczmPMpIFkLUl69Y4h2Pt6w7e6 hZDo6CIj3ZuRHh8TrbrobdU535ZTYNmgN/9cYuf08A3+Qzpy36VpA1rAYnQBh9e+jWdu +l633BUIAWxnzy2g7D/kooN/GG8KRPOEWJXWOywM56HggZT/0C7+Ns6Ze9iO+eUXoOlr OIHg==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=AoupT78v; arc=pass (i=1 dkim=pass dkdomain=intel.com dmarc=pass fromdomain=linux.intel.com); spf=pass (google.com: domain of linux-kernel+bounces-75311-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:4601:e00::3 as permitted sender) smtp.mailfrom="linux-kernel+bounces-75311-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 bo12-20020a0564020b2c00b00564d24c0b5csi1698956edb.500.2024.02.21.14.46.45 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 21 Feb 2024 14:46:45 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-75311-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=AoupT78v; arc=pass (i=1 dkim=pass dkdomain=intel.com dmarc=pass fromdomain=linux.intel.com); spf=pass (google.com: domain of linux-kernel+bounces-75311-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:4601:e00::3 as permitted sender) smtp.mailfrom="linux-kernel+bounces-75311-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 211171F26B41 for ; Wed, 21 Feb 2024 18:37:45 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 4D46B129A69; Wed, 21 Feb 2024 18:35:15 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="AoupT78v" Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.7]) (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 C156885632; Wed, 21 Feb 2024 18:35:04 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.7 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1708540506; cv=none; b=b+/Lgrn1alRHJjvZeFUhkm7E5vZQgC6Z4qsqHweINXA0F5MfrD4UMpNHqEETlsEUnPSlu4+sReRWb30yxXymezK5iECoGgL01QU+KJ7dCfTeVSqPjR/lwSKEB0fzRYOjZqykZlsgP2WJw6ibNUUcX9AT2Y0J0XfSOjDnpGttmlU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1708540506; c=relaxed/simple; bh=vhK6pyGf2T+TFWuVP7O7kQnPlVO9Kof9u3xE7jBi6uw=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=DhSIWQXmcPbu/H+r6jXK4dGy/ga6dFDwhE2cJpX3qAtKtUUyir11mM5OOXZfLDTqcB35jq8nYMqr8Vz0Xjw+rocGOZlQZKRWCmeZyw4UNAktB07kyoXR7ph5dijuus1IcOukrr1AY/qSnGSKvp0JaCZna8Gvbz/0pnZau+rWNRs= 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=AoupT78v; arc=none smtp.client-ip=192.198.163.7 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=1708540505; x=1740076505; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=vhK6pyGf2T+TFWuVP7O7kQnPlVO9Kof9u3xE7jBi6uw=; b=AoupT78v5P5R69wEW23yfZzXXdMidvdv0Fe9IforJba66O/DzgdwAYJB wiupZz0ZMeUEXdccN4degcSiHuELs1PO+EIUrhkRIPnWAoLNdtks9Ilgt EUqOP/4HoMrwM8l/XBUXD3nShvztV4TkgVntdtCx3Fhsyo4k7sZBywF6G Ezq+P0pRqVAmaJmStTW3Lx22jMHG9edrjLJUNAIigj4R6prgA0xBdeN46 TDtupqn6XcSb0UmX4xw8A8USTA+hGjLFxbblm2Qei9fdK6u44Ym0Hkf5/ UMaeReQxpgq7eUybrnC4ln4dNONG5umCQG6E5wDt6jVfqPVj2mRNjqWwL A==; X-IronPort-AV: E=McAfee;i="6600,9927,10991"; a="28164807" X-IronPort-AV: E=Sophos;i="6.06,176,1705392000"; d="scan'208";a="28164807" Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmvoesa101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 21 Feb 2024 10:35:02 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10991"; a="936684753" X-IronPort-AV: E=Sophos;i="6.06,176,1705392000"; d="scan'208";a="936684753" Received: from black.fi.intel.com ([10.237.72.28]) by fmsmga001.fm.intel.com with ESMTP; 21 Feb 2024 10:34:55 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id 379154F1; Wed, 21 Feb 2024 20:34:47 +0200 (EET) From: Andy Shevchenko To: Greg Kroah-Hartman , Andy Shevchenko , Thomas Gleixner , linux-kernel@vger.kernel.org, linux-serial@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-aspeed@lists.ozlabs.org, linux-rpi-kernel@lists.infradead.org, linux-mips@vger.kernel.org, linux-tegra@vger.kernel.org Cc: Jiri Slaby , Joel Stanley , Andrew Jeffery , Florian Fainelli , Ray Jui , Scott Branden , Broadcom internal kernel review list , Al Cooper , =?utf-8?q?Ilpo_J=C3=A4rvinen?= , Paul Cercueil , Vladimir Zapolskiy , Thierry Reding , Jonathan Hunter , Kunihiko Hayashi , Masami Hiramatsu Subject: [PATCH v1 08/14] serial: 8250_ingenic: Switch to use uart_read_port_properties() Date: Wed, 21 Feb 2024 20:31:24 +0200 Message-ID: <20240221183442.4124354-9-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.43.0.rc1.1.gbec44491f096 In-Reply-To: <20240221183442.4124354-1-andriy.shevchenko@linux.intel.com> References: <20240221183442.4124354-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: 1791550402812566170 X-GMAIL-MSGID: 1791550402812566170 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..7603129f1c07 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, true); + 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 Wed Feb 21 18:31:25 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 204402 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:693c:2685:b0:108:e6aa:91d0 with SMTP id mn5csp1262796dyc; Wed, 21 Feb 2024 11:55:40 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCXQ9JwJNcItTjdQ404GUS31rRn+vmT3mco1sfwQ+ypNHH4kdRaUW0HQqGaFcexQo5rwgB+vbj2q0WBw8b7BQSI4FVzluA== X-Google-Smtp-Source: AGHT+IEgJBzSCt80q/FTnwIa3tY282F/Zkzi6PBotGYFzexlW8qWtcTxy37Z6OU14H8A9C+Zg3cI X-Received: by 2002:a17:90b:111:b0:299:2c43:662e with SMTP id p17-20020a17090b011100b002992c43662emr14360297pjz.31.1708545340633; Wed, 21 Feb 2024 11:55:40 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1708545340; cv=pass; d=google.com; s=arc-20160816; b=Vmmawh43OR0dtzI8guAr4dhw6eLAvsHvLOJMsa3RvAXTR5lpTR7EGhnPsKvux+kK2w t5HwOi3U7+IvQsDITWtiAAprpQqfHfetNkcWU+l/RvvCPw4cIYb+IfJcfimOBWDwGoF7 iMbZiT5nGPr3gXlUwxSeOAgJFg2uZBP0SYWEEayGUDB+uK0SGJ+RrGJNmr/rahxrLXK3 EBkWtjBETiYHuowpaZVTvaIl3+3+d+dWT17DfSH6VGPth7tqaOQaVcRwxC8FQtYo7c3q dFA3RLoNHTsRvatx9P5/An0t8+RFNiILoetvpWeJr3YeMweaVJsoKHxQMfOf++EPZC3a wMrg== 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=D4KwnVOpnJs/2gDd0FmR6JKNsGJUctJ5eHzVQBF+HqI=; fh=yrE9O525sLNdIXC06sJBIlRUjYfWNm6imQ0cf3A93gQ=; b=mNGeZy8jOeUV9uEmx5mwk07//2OfPobKIia4kh7/JnGXGtiHVKa6BPFQpBShnANoNj vC5mvewQFpk+/6kV80OYclywHNu2PkYM7mujTviqrD3C1v9YSMq98qzuIPrPTaDCbyKT /kfglC0S948SWXyrkUUh0UcfLkVA5XYGFuv7ugvEbk3Mt8CDr64z2K0+AHjfLtGZKtNm psj56NIdnTFRgylcvVh91s2GEm1Jp2hjEs0XlgUHkRB9g/cpQGHof2gUXtpNQ4oN4Aqw LFrt2VVM39ehFUpXOd6pzMmGVCpwO/KQJaspxc9a+B3nYkQ5/b19pru3jX76a6raroGm IWaA==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=it1Z93eI; arc=pass (i=1 dkim=pass dkdomain=intel.com dmarc=pass fromdomain=linux.intel.com); spf=pass (google.com: domain of linux-kernel+bounces-75316-ouuuleilei=gmail.com@vger.kernel.org designates 139.178.88.99 as permitted sender) smtp.mailfrom="linux-kernel+bounces-75316-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 p5-20020a17090a868500b002935f38dcf1si2051581pjn.181.2024.02.21.11.55.40 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 21 Feb 2024 11:55:40 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-75316-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=it1Z93eI; arc=pass (i=1 dkim=pass dkdomain=intel.com dmarc=pass fromdomain=linux.intel.com); spf=pass (google.com: domain of linux-kernel+bounces-75316-ouuuleilei=gmail.com@vger.kernel.org designates 139.178.88.99 as permitted sender) smtp.mailfrom="linux-kernel+bounces-75316-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 AFC66287F73 for ; Wed, 21 Feb 2024 18:38:46 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 151DC12BEBE; Wed, 21 Feb 2024 18:35:22 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="it1Z93eI" Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.7]) (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 31215127B64; Wed, 21 Feb 2024 18:35:09 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.7 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1708540513; cv=none; b=iXMOKHbPLiDfbI/elNdX39Mhd1Yw+vC0M2EOvLiY0N4mecgn1f07KOFyA0I/WHSAbEdds68KTbdgVB6E4fbhNLHmu0fmIzULEZ3HR8EUgDY9PU4DuDiyx0Ojazp+LJerSX44DWgqNLziD8rfoEgB5Usq//7GO6BLGNGWRl8OtdA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1708540513; c=relaxed/simple; bh=KeTPJX3iP5rGOV/714NN6qjfj4XXg/FxlTFlGOhpEw4=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=UwdpV7F5VY8yfvGnnzLpmv00r1tea6uBjRWqaPckuat8R1zDQ2Gv7mEdpAk+v6ryeMQd4KYzY0W+Z7yZIAsxLRnuOwfTXYxIlHkZ6HwPdNFmzF2M06N7fvhg0Hbqc2paA+0QHr5chntgVbxW9iapAG9lw3LD5eNzse5E9DfAWio= 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=it1Z93eI; arc=none smtp.client-ip=192.198.163.7 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=1708540511; x=1740076511; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=KeTPJX3iP5rGOV/714NN6qjfj4XXg/FxlTFlGOhpEw4=; b=it1Z93eInyys6gDKjfkhsKwZ+FKyTK6lrJXKnU1wnBflF2j0rqFVm79y d9RrIRYZ2Sk7XbMk8xg6o87lDj1IMzA0fPIr7oVC8/qRofI24NxxlMtZf T/WRfJuXgm7tIDh1cIk0PRTJv191GXSAJhqhXrDD2XtH5UPP8dzDcymSV 9dGwICa6YaecPr57NFN5LBvhjuR4aic49TRfPkWVEz2qQFrBn4qynSzFH IAS4r9S4e0eFtrr9Hc6ISalAlDgRB0+pEDlf4dNDn7IPz6+RNapGoUYem LQ6FJFB6UFZEfhUH+QKPOW7+jgktZsLlIkXkfpcsuvAftBiSTyZDvlRvL g==; X-IronPort-AV: E=McAfee;i="6600,9927,10991"; a="28164878" X-IronPort-AV: E=Sophos;i="6.06,176,1705392000"; d="scan'208";a="28164878" Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmvoesa101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 21 Feb 2024 10:35:03 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10991"; a="936684755" X-IronPort-AV: E=Sophos;i="6.06,176,1705392000"; d="scan'208";a="936684755" Received: from black.fi.intel.com ([10.237.72.28]) by fmsmga001.fm.intel.com with ESMTP; 21 Feb 2024 10:34:55 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id 43015570; Wed, 21 Feb 2024 20:34:47 +0200 (EET) From: Andy Shevchenko To: Greg Kroah-Hartman , Andy Shevchenko , Thomas Gleixner , linux-kernel@vger.kernel.org, linux-serial@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-aspeed@lists.ozlabs.org, linux-rpi-kernel@lists.infradead.org, linux-mips@vger.kernel.org, linux-tegra@vger.kernel.org Cc: Jiri Slaby , Joel Stanley , Andrew Jeffery , Florian Fainelli , Ray Jui , Scott Branden , Broadcom internal kernel review list , Al Cooper , =?utf-8?q?Ilpo_J=C3=A4rvinen?= , Paul Cercueil , Vladimir Zapolskiy , Thierry Reding , Jonathan Hunter , Kunihiko Hayashi , Masami Hiramatsu Subject: [PATCH v1 09/14] serial: 8250_lpc18xx: Switch to use uart_read_port_properties() Date: Wed, 21 Feb 2024 20:31:25 +0200 Message-ID: <20240221183442.4124354-10-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.43.0.rc1.1.gbec44491f096 In-Reply-To: <20240221183442.4124354-1-andriy.shevchenko@linux.intel.com> References: <20240221183442.4124354-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: 1791539638939967625 X-GMAIL-MSGID: 1791539638939967625 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..e4a6b7b4caf2 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, true); + 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 Wed Feb 21 18:31:26 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 204430 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:693c:2685:b0:108:e6aa:91d0 with SMTP id mn5csp1297049dyc; Wed, 21 Feb 2024 13:05:24 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCVMGvHkaN98/FddrC004pu0qOGdqG1JtU8NLOGIPDTl/4kXM4KcGMkoCWFvA8XUslhrkMSFwtKA0f3qj5UjAYQmw8EBug== X-Google-Smtp-Source: AGHT+IGkQjWEuSSBsYpdFe7MzPAi4vnt1GzBhZvYIs369Nr7gHI57fJLJrQT2GfQcLD6X8EB2xVS X-Received: by 2002:a05:620a:1225:b0:787:2897:db82 with SMTP id v5-20020a05620a122500b007872897db82mr19364118qkj.74.1708549524770; Wed, 21 Feb 2024 13:05:24 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1708549524; cv=pass; d=google.com; s=arc-20160816; b=zlm2oLU5owk+w+n3OkzdXVJT9vrzBkacVXexYJMEocJT3lblPu2dT9PwJarXFGiOYA t+CgEbj9lYjllPpNKl/j6nhMS4AjkFwXIRDvzCaede08wCteuEak3xSvt/S7zuebhdEA eDViEuQ1bPHRRkBTA5QCiesRAMVBfE2wsPUO9bQAca59yRD03o/s4/CBOyFy8cR/qcht Ec7e4rdmyTMHDumnsvVCiKNpZRdj9Ke023etpfrhf9G2V60LpK84u/a1uZrryN44G8Wq qimlBk4raQlAu4llODHf2K+Awqh9+VJ+/ZHgh5wMcrKGndTPXhcKkbFgJn6unAoWvQlw Z+Dw== 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=QVcaXiv7vNXXqaBzwoPqBLRt3HgVrmLdj8U4WP9Hf44=; fh=DQO/uZLNCRUCopnCjgvjwrYRqhOKm6kRcB9Xlmdk8BI=; b=lEfX2ePR04vHlqqgjs+jh8tBI9zmt9S5xx99m3WlYklj6cb8pJUr7IUb7Xy389xvp5 pJGdeDnB3f493CPt9l65jOWES5K2aSbPjrbg0l+B6xcXKkslsSdSc6PNiPpZDBw7wzGv nvczqcKDPvrO6wsjKPldixy5qAo6YLVMfJ5vSMYQ1l2SvMiaQSVt4fmBlYZPhIIgbKYt c2g5dnqdFuTMq0GDlszIU8zc1Y2+82/M9Jp0W2ebqGsfc5nL0nxj3XoR+rOJXnRa+Z1C iV72qHWmcK6kskZjJcH5jSt28n5/ZV4dUEisIlqYtNffyphW+25Bxi+hV/yzPS0l2X1t g+4w==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=no5JTs84; arc=pass (i=1 dkim=pass dkdomain=intel.com dmarc=pass fromdomain=linux.intel.com); spf=pass (google.com: domain of linux-kernel+bounces-75314-ouuuleilei=gmail.com@vger.kernel.org designates 147.75.199.223 as permitted sender) smtp.mailfrom="linux-kernel+bounces-75314-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 i5-20020a37c205000000b00787324e97eesi11605333qkm.661.2024.02.21.13.05.24 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 21 Feb 2024 13:05:24 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-75314-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=no5JTs84; arc=pass (i=1 dkim=pass dkdomain=intel.com dmarc=pass fromdomain=linux.intel.com); spf=pass (google.com: domain of linux-kernel+bounces-75314-ouuuleilei=gmail.com@vger.kernel.org designates 147.75.199.223 as permitted sender) smtp.mailfrom="linux-kernel+bounces-75314-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 C247B1C24B2F for ; Wed, 21 Feb 2024 18:38:30 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id A409712880F; Wed, 21 Feb 2024 18:35:20 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="no5JTs84" Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.7]) (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 C3AEB126F3A; Wed, 21 Feb 2024 18:35:06 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.7 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1708540509; cv=none; b=DDyz9vDgXJgdVTaPHp0zA/1WguDPeSmsUypXunSoRyEIPEpj8HCqzdpex+D9kzvoZBhAlSQOMlTvNuetFKSAHcK6i8E392Y44xqljASoVlI0dLRaGAODtutrOmBrBZi49trmTzaT/TxOL3H99Sp23cUteJ6rNvnXjxzA9snFtOg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1708540509; c=relaxed/simple; bh=IYoY9YglSHFf69pZg59ideH+3au8X4iy+Kx6zcfcQbU=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Et5soXQIc0ZTIia6+1DHGlbTRW3qQBmBIl9VcPSa82IN27bPTpgk90oXewRO7GBhg2Lwu5uYlMJYMKgYZqiE5Rx+kyBLYolfRxXxEtZ6fHr0HfChPoi6q+4bnAq9E6CAX00q4V6pQ3DhZcYPTZwv7EXNfjNmC0eZrRKZ6wYpMoI= 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=no5JTs84; arc=none smtp.client-ip=192.198.163.7 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=1708540507; x=1740076507; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=IYoY9YglSHFf69pZg59ideH+3au8X4iy+Kx6zcfcQbU=; b=no5JTs84u7y9/FcsegY24MjUWFtuLVgWn4Af8VEMdI16T+O3dMIzt2PM ubQwOrM4qBjlWlpsWS6ujtoOS8ckWDFnhQvp7fE6Zldt1lK8GBxAkJ2j8 /eMyMNjFsi0Z3/4EzzP0EFb4sLegRfjPXHzy9QgsZiAFd/K/sBw2Z38mq IDvXvY3Y9e1QZhJdA+icIBygJ1emwikN/HjRzDdwdQYGKbUYpy0MpLtHg pyMCCrBzq73S483q6NNuhY+zldvZucyJHmGhIa6z7XR1CZaWWBJW1GXBa UbHtf6E8fu+6He4QWiOAlCyj46chtqOsr8gYj8Wp7kqTKYdVo/DBXeAaY Q==; X-IronPort-AV: E=McAfee;i="6600,9927,10991"; a="28164825" X-IronPort-AV: E=Sophos;i="6.06,176,1705392000"; d="scan'208";a="28164825" Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmvoesa101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 21 Feb 2024 10:35:02 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10991"; a="936684754" X-IronPort-AV: E=Sophos;i="6.06,176,1705392000"; d="scan'208";a="936684754" Received: from black.fi.intel.com ([10.237.72.28]) by fmsmga001.fm.intel.com with ESMTP; 21 Feb 2024 10:34:55 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id 4F0D16D8; Wed, 21 Feb 2024 20:34:47 +0200 (EET) From: Andy Shevchenko To: Greg Kroah-Hartman , Andy Shevchenko , Thomas Gleixner , linux-kernel@vger.kernel.org, linux-serial@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-aspeed@lists.ozlabs.org, linux-rpi-kernel@lists.infradead.org, linux-mips@vger.kernel.org, linux-tegra@vger.kernel.org Cc: Jiri Slaby , Joel Stanley , Andrew Jeffery , Florian Fainelli , Ray Jui , Scott Branden , Broadcom internal kernel review list , 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 v1 10/14] serial: 8250_of: Switch to use uart_read_port_properties() Date: Wed, 21 Feb 2024 20:31:26 +0200 Message-ID: <20240221183442.4124354-11-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.43.0.rc1.1.gbec44491f096 In-Reply-To: <20240221183442.4124354-1-andriy.shevchenko@linux.intel.com> References: <20240221183442.4124354-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: 1791544026413777705 X-GMAIL-MSGID: 1791544026413777705 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_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..1a699ce2e812 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_port_properties(port, false); + 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 Wed Feb 21 18:31:27 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 204401 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:693c:2685:b0:108:e6aa:91d0 with SMTP id mn5csp1262728dyc; Wed, 21 Feb 2024 11:55:28 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCXAZpOSB6EadurtVTGmoaXNTa1KWRVfLwJ5GSujpD92ca8/7DExVxjafzvYbuG3GznmSNhNyHng85/qqiSyKpJUUhuz8Q== X-Google-Smtp-Source: AGHT+IERLaOsRzU7bhZr2iKolVl9MW2BTA9rGVWgVuTbox0hBkAbGl9SJrDuKfdctEkOFUX0z3oR X-Received: by 2002:a05:6871:152:b0:21a:3542:2ab5 with SMTP id z18-20020a056871015200b0021a35422ab5mr17360669oab.41.1708545328054; Wed, 21 Feb 2024 11:55:28 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1708545328; cv=pass; d=google.com; s=arc-20160816; b=YS1XfBWXUQMjTmnh8tMNk77El2UL/vNRpXqc59aIKhQXRZSc/ZWGfdUh19ef664IzY H3lgF552bPWnrjDXvyNxrjzDMNbsvcUiQ8hJwLT0v/7Gj4roSYDdY0U1ej7FYMQmXk7e udEJbz57N4gV2tc6hyCmrEVNAjvDg6+Q+Fwh7NO5dO/b55R0t35wDlQ0sXMngL6ag14p 16ZdzXGFFJMHOLItXqGGwbSG/rR45yqrbSjl8kyBdqSnSwE0ZJyPy0TilUGc7nzGLtwh /rppMy25pPFQcsAhA+Wp0KdeyMs0zH1NVHa27couq4ykw9SoXMyA+oaeE5apU0o3mDZt 6GRw== 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=yRJtnL0QNB/tGUgs56zjLpVVOJUA5DQ1t94QN0nkykE=; fh=yrE9O525sLNdIXC06sJBIlRUjYfWNm6imQ0cf3A93gQ=; b=Ya/bi5ZbGayRENVbvHy0pm2xvhLyVxYC2GPiQiMzqsHv+e/svQUAIITTFi8eLXZzxu c6Lx4NLz6hgaugBJpBG6Xf6q1Fxq6u+sI4qajX8FVwc3EWzvSDnrwu76oolQcsLQF5SC mWRk/Q4cJOeSSowLD2auHap6nX0XPbXZ3L+RpQ9cZ56fp3fy2UaX31SRggggsGwYcXEn yv1sXQFYVudlb8iOGbz+yYWg0zHhVIWW48lssLnL85fRRtIC4dFJiec1AmdADmJiJiur gKrp2aHzarzkfoLEtCpkVp+Hi23gy19f40OZeJgMo6lWrejsAt64GnojGJyEQwgwBSDq qeWw==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=kw0c2dqu; arc=pass (i=1 dkim=pass dkdomain=intel.com dmarc=pass fromdomain=linux.intel.com); spf=pass (google.com: domain of linux-kernel+bounces-75313-ouuuleilei=gmail.com@vger.kernel.org designates 147.75.199.223 as permitted sender) smtp.mailfrom="linux-kernel+bounces-75313-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 da31-20020a05620a361f00b0078723518d01si10636792qkb.395.2024.02.21.11.55.27 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 21 Feb 2024 11:55:28 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-75313-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=kw0c2dqu; arc=pass (i=1 dkim=pass dkdomain=intel.com dmarc=pass fromdomain=linux.intel.com); spf=pass (google.com: domain of linux-kernel+bounces-75313-ouuuleilei=gmail.com@vger.kernel.org designates 147.75.199.223 as permitted sender) smtp.mailfrom="linux-kernel+bounces-75313-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 A376E1C24A2B for ; Wed, 21 Feb 2024 18:38:24 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 486AE12B156; Wed, 21 Feb 2024 18:35:20 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="kw0c2dqu" Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.7]) (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 C2C4F126F29; Wed, 21 Feb 2024 18:35:06 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.7 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1708540509; cv=none; b=Zxj3eacP6JjE/RG65ReMvoafJ2f8efVnSOrp8KBPxARLy73iMxK+2pM4GDB8iPdZ8ZNQXT0uKtqFEPPbPQUJmDav8X7no5NTc54EnGNMrj23XyfdiEgDrJBUdUbkZrbodut4zc9mTKHaUQvUt68imkjA8/5++yymGrj8FB9X3P8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1708540509; c=relaxed/simple; bh=x0OGDwF7erFFwXirCEnUP9h+wCzGSEhdgN5rCP6VdCA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=LOZow7K87avdTOj4KtN14BQoBwEQ1gQPsAXX4yhAAhRTkJfwLzvmn+UCcK6S/5lier+agjmwlS3tuCbz1M5Yhb7dHjj0w9HW3y/nDRQd+fwEP7j41l+nq0R44nmrqiHxbmIu/sh3htdPgtE0e7Ufx8Pn7bedZcycQAp+LG/5UZY= 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=kw0c2dqu; arc=none smtp.client-ip=192.198.163.7 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=1708540507; x=1740076507; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=x0OGDwF7erFFwXirCEnUP9h+wCzGSEhdgN5rCP6VdCA=; b=kw0c2dqujQ3wAj5d7+KryV+29oVyQDHUq5jWgKdBs5BpBQ92zVV/xFpy AxcwlRxA+RO+pNNuWCHGhRqcFUZOoERm0x0eD3JGHsEaz5rY79S0ok8gI LOCqmQSK+3cRwv1AfNH02WB7TV9YHXHKWTrZDVfLrd9RvhtpsxcTlB7lq aBrQJWq2CVmih8H54aKAqnIr3hJoRi7p5m4C/s35Gcm4uuZUcYH234/w9 I1fnoAhu3QunZoCvQgN21H8cnVhvkI06R/rCgw7ahdkcMyoXI4Zl4ZOg7 c0PX+zOjt93nr6ybCMqjZW1svAYM8hzz4ebIH7cH4ApjdN9ZHbFaDVb2n A==; X-IronPort-AV: E=McAfee;i="6600,9927,10991"; a="28164874" X-IronPort-AV: E=Sophos;i="6.06,176,1705392000"; d="scan'208";a="28164874" Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmvoesa101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 21 Feb 2024 10:35:03 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10991"; a="936684756" X-IronPort-AV: E=Sophos;i="6.06,176,1705392000"; d="scan'208";a="936684756" Received: from black.fi.intel.com ([10.237.72.28]) by fmsmga001.fm.intel.com with ESMTP; 21 Feb 2024 10:34:55 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id 5F21880C; Wed, 21 Feb 2024 20:34:47 +0200 (EET) From: Andy Shevchenko To: Greg Kroah-Hartman , Andy Shevchenko , Thomas Gleixner , linux-kernel@vger.kernel.org, linux-serial@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-aspeed@lists.ozlabs.org, linux-rpi-kernel@lists.infradead.org, linux-mips@vger.kernel.org, linux-tegra@vger.kernel.org Cc: Jiri Slaby , Joel Stanley , Andrew Jeffery , Florian Fainelli , Ray Jui , Scott Branden , Broadcom internal kernel review list , Al Cooper , =?utf-8?q?Ilpo_J=C3=A4rvinen?= , Paul Cercueil , Vladimir Zapolskiy , Thierry Reding , Jonathan Hunter , Kunihiko Hayashi , Masami Hiramatsu Subject: [PATCH v1 11/14] serial: 8250_omap: Switch to use uart_read_port_properties() Date: Wed, 21 Feb 2024 20:31:27 +0200 Message-ID: <20240221183442.4124354-12-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.43.0.rc1.1.gbec44491f096 In-Reply-To: <20240221183442.4124354-1-andriy.shevchenko@linux.intel.com> References: <20240221183442.4124354-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: 1791539625629058548 X-GMAIL-MSGID: 1791539625629058548 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..173af575a43e 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, true); + 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 Wed Feb 21 18:31:28 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 204467 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:693c:2685:b0:108:e6aa:91d0 with SMTP id mn5csp1319581dyc; Wed, 21 Feb 2024 13:59:46 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCVr9Op2hjAtA2rOzCDgRrIIldBULZ7URVN2fT3h2iWXBMConSULhTq7vh4H/bAu6ga6njCDULEAwZQihP+e5TK9A1tFKg== X-Google-Smtp-Source: AGHT+IGKEMk9o2eZMx5IrmHXMo1B3wem2EcnECMBGyFubYnWmhr/pAzQIr7/W+L6wJMWXDEwwEkb X-Received: by 2002:a05:6871:e028:b0:21e:8897:33e5 with SMTP id by40-20020a056871e02800b0021e889733e5mr12487785oac.12.1708552786663; Wed, 21 Feb 2024 13:59:46 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1708552786; cv=pass; d=google.com; s=arc-20160816; b=D5ry0x9I3pAuePDmOnmFOqWwgPhvp1Sb7FQ8gqS0VYRsiMmIijk5IiIEkhHLJR3XBn VRYKmdM+uBWCEzt4s/tx7xhKNrR7xLzXpSI2egvh9craDxX+CfGhxpaYhe4S+u0kuvzm +BL7FnqbbIl+6bAMvtqKkvEvX9+ZExyFPva0BLbQn4IxUG7Tj2BqvkVP//GJWE3a3j+9 MBv5QC4lXD/7X3fISTFvr0RX762NiygZeCMD0FBxHgL8d5NwPdJrv1EywRtFeyUtSTkg Vu6vPPePr5sorpZRJVD6er3NHdgWIdfG41nXP1ivjvsSJuA6OBF/9Ex9/cMS2Vx+45YT JD9Q== 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=Z0dj9W8VWDub2GWGN8QZyEttLdutj4Rai0HLPSh4DKQ=; fh=yrE9O525sLNdIXC06sJBIlRUjYfWNm6imQ0cf3A93gQ=; b=uu1BcPVmK0yWl1UM+lM6JlBvRnWSMk4Srx1dXpvsPH3aiKuNCdwns4bxzAbCHzZWEa 5IODYdeHH/vXwrUGuuvVxwjWom5bMZ6O+KtfvIDJ1pD3k/jtuxe+TFPVVKxll3k+N4+H MbVkoOW7j+mQSf2PYvg8VGV134PNk2LWxw6EPAz0GNaikaUg2M/9UEvJsAzj3GsRorV3 rAnwGUWkHFR++eCjEythq6kE/3ubzWzEF3PEZzYfnstG+ADux2SbKceDcK+BSc7O19eP wYB+rw78dwKW3Co/2HaYJ7WRvwx3VDk0xMrVi7Kp1RvIcoXG1+WEE5yWU7AhcTaiYuib Mevg==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=TfE1ktOS; arc=pass (i=1 dkim=pass dkdomain=intel.com dmarc=pass fromdomain=linux.intel.com); spf=pass (google.com: domain of linux-kernel+bounces-75312-ouuuleilei=gmail.com@vger.kernel.org designates 147.75.48.161 as permitted sender) smtp.mailfrom="linux-kernel+bounces-75312-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 y22-20020a637d16000000b005cf60fc5fc9si8608317pgc.274.2024.02.21.13.59.46 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 21 Feb 2024 13:59:46 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-75312-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=TfE1ktOS; arc=pass (i=1 dkim=pass dkdomain=intel.com dmarc=pass fromdomain=linux.intel.com); spf=pass (google.com: domain of linux-kernel+bounces-75312-ouuuleilei=gmail.com@vger.kernel.org designates 147.75.48.161 as permitted sender) smtp.mailfrom="linux-kernel+bounces-75312-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 26F1BB25CC0 for ; Wed, 21 Feb 2024 18:38:17 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 1DF4E8593E; Wed, 21 Feb 2024 18:35:19 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="TfE1ktOS" Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.7]) (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 B5A36126F10; Wed, 21 Feb 2024 18:35:05 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.7 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1708540508; cv=none; b=IcflJYKZBpLJiLoATuagyApIL2t/p7qErn7un5NAWxIZ6mZcw89eMwW/1JhLole8sk2rGMRVCuvWy1N6O5zmDmUrZqS7RLyzfJQwsnU3JjC9KKe9gguIXqf0myZI5h2ddzWMYtrnzmIWSOwYTKIXSwkTR4SIg3vSe2Q0PNbvU9A= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1708540508; c=relaxed/simple; bh=J0xi+n8uZBq6TA4lbxbqQ3C4vIDv86jFL+mrVMUmGoA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=YK6b8HHPeWpo5zb9cvpmUOGLA0H2fXhMqT7I7TEkZiZ6m0yT02/vBxlxQ+bT4tpRjampctKWfAY/WDPhZ4FlSOEyXqexNExqO48GZ0BM3p3nEQTKNfBqBzRoZf/sl9gF+y0fKwucBnZ4W7s5e7m90BgV+zHaGzTcU2oIn8JxhCk= 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=TfE1ktOS; arc=none smtp.client-ip=192.198.163.7 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=1708540506; x=1740076506; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=J0xi+n8uZBq6TA4lbxbqQ3C4vIDv86jFL+mrVMUmGoA=; b=TfE1ktOShmuPHUFPkCgi3Rvdgn0oVPcUCZyVzHlY396HvJmsxefDtlnM bmSWQc3bPwmpEoiW1OcbGJiEoauTttGiT0HLLNojKedKj2tut9BHWLjcs 2GlBMolVyHlSS9zoeixQxBVdWWyQHKGaJ+ulLIkqYJWEcFLCEcZ/VzrjC qhnARaFB4LwpW06fbpo6zzKRsY2YiYaO1Uf2Pn1hczp5ADO1nS+EHBXJZ utExjIkINQ3zLgtH1XZZCBZkzJ+7Yim8du1Cw4IUOfKcNSY22/4lbvVPV Ff1xmUA4Bg10BYryGbi+p8dPLlhPYIZTL9rJBhpB5IO3TaVbHDf0GRHFk A==; X-IronPort-AV: E=McAfee;i="6600,9927,10991"; a="28164841" X-IronPort-AV: E=Sophos;i="6.06,176,1705392000"; d="scan'208";a="28164841" Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmvoesa101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 21 Feb 2024 10:35:02 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10991"; a="936684757" X-IronPort-AV: E=Sophos;i="6.06,176,1705392000"; d="scan'208";a="936684757" Received: from black.fi.intel.com ([10.237.72.28]) by fmsmga001.fm.intel.com with ESMTP; 21 Feb 2024 10:34:55 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id 6A910898; Wed, 21 Feb 2024 20:34:47 +0200 (EET) From: Andy Shevchenko To: Greg Kroah-Hartman , Andy Shevchenko , Thomas Gleixner , linux-kernel@vger.kernel.org, linux-serial@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-aspeed@lists.ozlabs.org, linux-rpi-kernel@lists.infradead.org, linux-mips@vger.kernel.org, linux-tegra@vger.kernel.org Cc: Jiri Slaby , Joel Stanley , Andrew Jeffery , Florian Fainelli , Ray Jui , Scott Branden , Broadcom internal kernel review list , Al Cooper , =?utf-8?q?Ilpo_J=C3=A4rvinen?= , Paul Cercueil , Vladimir Zapolskiy , Thierry Reding , Jonathan Hunter , Kunihiko Hayashi , Masami Hiramatsu Subject: [PATCH v1 12/14] serial: 8250_pxa: Switch to use uart_read_port_properties() Date: Wed, 21 Feb 2024 20:31:28 +0200 Message-ID: <20240221183442.4124354-13-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.43.0.rc1.1.gbec44491f096 In-Reply-To: <20240221183442.4124354-1-andriy.shevchenko@linux.intel.com> References: <20240221183442.4124354-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: 1791547446917730617 X-GMAIL-MSGID: 1791547446917730617 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..0c9140b93414 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, true); + 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 Wed Feb 21 18:31:29 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 204431 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:693c:2685:b0:108:e6aa:91d0 with SMTP id mn5csp1297060dyc; Wed, 21 Feb 2024 13:05:25 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCXCPJ6X9p+MspvU2vTDojIL5mcEC7cPnzfE1wcfzG4hRsYlGzjOKsIevX7/W0YrK0HPDlVJ/ADrYiIogD/RFmuGjpLTUQ== X-Google-Smtp-Source: AGHT+IEPdQMQkEUxe/KJMaYnDEXInLIMYKt9kYgFuTklc3fLcc4fdiQqSYJCfCPzGfSuTXgoFbKi X-Received: by 2002:a0d:ec0c:0:b0:604:727c:695 with SMTP id q12-20020a0dec0c000000b00604727c0695mr15593619ywn.42.1708549525505; Wed, 21 Feb 2024 13:05:25 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1708549525; cv=pass; d=google.com; s=arc-20160816; b=pnouUB3E4h+1cWkL3ZvYfJeZ/hPnlioBEOHcBaAxIvB/jS7b4v3hLFhA6uvtU4+ls8 HaTHfj/4N02wPMCxlgSAwHzSYGIKQzoMTfly+HN2gcAq00XMEEr/uZpEL0jLOMrRPlzT NL5lQP1zmkG2wO8MCPZDIUUroLZCFsqgkxiGS8nlTFlUjOZNTAdqXdlbAd3Omffx93ml xnuJd4VfcGNua0uIHoQlil0HbIiHxv6afNiAwRJ8YllcszeFuxuH+tSILQ93n1d5U4TG 2qSqnSajXzeOrj7c6lBBqEps3nPdZD1j51Ct2Tk264qh5PBrDjJ90W72V5uigZE/8ZBv 7AFQ== 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=wd2XFrM9onYe7J7z4B01h4NKcdyyYC3VwmTnsDif4J8=; fh=yrE9O525sLNdIXC06sJBIlRUjYfWNm6imQ0cf3A93gQ=; b=mX7rh10uiRCY7wkqe/uqjdEGAFlGW+cljFXXUMgz7ZrRUHZPquPUiw4tk8HgSbZ2sX Y5q4zSbgC4yaTgPTtg+uu2xDMRTdgUoLX5UPcxf0bCqIU2/UOIOXATGbH9UB7cykefYe eGS5B8kkWrp/0cNW1hJtL5zpFAOv7ZjE73tqkZJtprCXSXnquZcl6apd84Pc/hgDnUIi vmwK9afO5sgR8I1xU7fA+yR2A5DDPTdXw/P38wXtUInypdc7O3YaMsgM8r0nr6QJtYAo FcFGM3qtwgtk5wMmHnqZhtfALHW3iYmHvmRDRCJl+D9n4A0nEbtsiWqN9lP98RUwWsx8 2LHw==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=WMPVGEHn; arc=pass (i=1 dkim=pass dkdomain=intel.com dmarc=pass fromdomain=linux.intel.com); spf=pass (google.com: domain of linux-kernel+bounces-75315-ouuuleilei=gmail.com@vger.kernel.org designates 147.75.199.223 as permitted sender) smtp.mailfrom="linux-kernel+bounces-75315-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 gs1-20020a056214226100b0068c8b401467si11470658qvb.597.2024.02.21.13.05.25 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 21 Feb 2024 13:05:25 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-75315-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=WMPVGEHn; arc=pass (i=1 dkim=pass dkdomain=intel.com dmarc=pass fromdomain=linux.intel.com); spf=pass (google.com: domain of linux-kernel+bounces-75315-ouuuleilei=gmail.com@vger.kernel.org designates 147.75.199.223 as permitted sender) smtp.mailfrom="linux-kernel+bounces-75315-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 E48A71C24CCE for ; Wed, 21 Feb 2024 18:38:42 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id ABB8112A17E; Wed, 21 Feb 2024 18:35:21 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="WMPVGEHn" Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.7]) (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 B39D31272DB; Wed, 21 Feb 2024 18:35:08 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.7 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1708540512; cv=none; b=LV5Nk0whmWVRktIXQ0kwlpq2CyUyHotFNyC9ep+DmqY/tAlgrJGi7fHE52pPehBXXPv02OnqrwU8t/jqxhSES9stZCEExHAk0YAW44V+0OBXOgzbHygaFBQV44ZAY6i1Qf22Dg+JgrQ652WRGvsgduEiB47sRmbiGPYD8Av47DQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1708540512; c=relaxed/simple; bh=I4Dp8lscp5MpgtPKkZb6GpVT2AnT2N5Frc+xmVMhCuw=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=h6h118kh1n1cO8cl0adoj5qqH53WnRi98Ytk5JlrKAGL9LuIR76amlqfj5rg5YsMpa/ZcoAbbybvJzyISJWmtFrfMZWOoaWYEHc+C5yNKmjggntzqRqCNm4I2oMUhYs7q/pHvAzFtTe4EbBdga2kMxxklsnXK6xYxaJQ/mHABzU= 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=WMPVGEHn; arc=none smtp.client-ip=192.198.163.7 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=1708540510; x=1740076510; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=I4Dp8lscp5MpgtPKkZb6GpVT2AnT2N5Frc+xmVMhCuw=; b=WMPVGEHnWIo36Pt/iYw5+3zdJAS0FNTDuGp/7MNa8RntnkrRmRy7XcIm gvO2G3HKzE3P90E361GY+OiFLDlcOvoTucs+18lsKFMnivujfMidLdDCl Veal/BkeeJU1Gfu6aeDcGMAXlzLg24IgH/+cWvc0PQ7lF0PRWV/LuQS42 2+RrbGZ4hM4XoWQoFs6I+08I3jZEXLcf3UvUpyFrpg2Jv8mi9Zg/MxmJW t1qoRuZelwp0W07yFtou9xHIXATK0g0AR9qO7zRVJ8yMAleIltS6382PP aort0U1NZAcgbGFOBCMI+KQtGAs1lx2OHyeEMk4sswJSvwyEBxvF7/coo Q==; X-IronPort-AV: E=McAfee;i="6600,9927,10991"; a="28164890" X-IronPort-AV: E=Sophos;i="6.06,176,1705392000"; d="scan'208";a="28164890" Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmvoesa101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 21 Feb 2024 10:35:03 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10991"; a="936684760" X-IronPort-AV: E=Sophos;i="6.06,176,1705392000"; d="scan'208";a="936684760" Received: from black.fi.intel.com ([10.237.72.28]) by fmsmga001.fm.intel.com with ESMTP; 21 Feb 2024 10:34:55 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id 79F8C8D2; Wed, 21 Feb 2024 20:34:47 +0200 (EET) From: Andy Shevchenko To: Greg Kroah-Hartman , Andy Shevchenko , Thomas Gleixner , linux-kernel@vger.kernel.org, linux-serial@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-aspeed@lists.ozlabs.org, linux-rpi-kernel@lists.infradead.org, linux-mips@vger.kernel.org, linux-tegra@vger.kernel.org Cc: Jiri Slaby , Joel Stanley , Andrew Jeffery , Florian Fainelli , Ray Jui , Scott Branden , Broadcom internal kernel review list , Al Cooper , =?utf-8?q?Ilpo_J=C3=A4rvinen?= , Paul Cercueil , Vladimir Zapolskiy , Thierry Reding , Jonathan Hunter , Kunihiko Hayashi , Masami Hiramatsu Subject: [PATCH v1 13/14] serial: 8250_tegra: Switch to use uart_read_port_properties() Date: Wed, 21 Feb 2024 20:31:29 +0200 Message-ID: <20240221183442.4124354-14-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.43.0.rc1.1.gbec44491f096 In-Reply-To: <20240221183442.4124354-1-andriy.shevchenko@linux.intel.com> References: <20240221183442.4124354-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: 1791544026744534696 X-GMAIL-MSGID: 1791544026744534696 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..ce48d02dfa0d 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, true); + 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 Wed Feb 21 18:31:30 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 204403 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:693c:2685:b0:108:e6aa:91d0 with SMTP id mn5csp1262852dyc; Wed, 21 Feb 2024 11:55:52 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCVDO8R8BxQ+H/KFgMYWCQnA4//46HJ9RLCZUnGHX/XSBz5eQSn0temfX4mK8zoAmN/+5dceqqmSCBHv160M3f5qrMhSGg== X-Google-Smtp-Source: AGHT+IEAGNknVvdlUZDg2vQPyjLJ+kYapnQJLtTkaEkf5ZX0XmUV3Unzkq44kayCKAAbjJsuh5+k X-Received: by 2002:a05:622a:11d4:b0:42e:2500:ef1c with SMTP id n20-20020a05622a11d400b0042e2500ef1cmr7647509qtk.32.1708545352570; Wed, 21 Feb 2024 11:55:52 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1708545352; cv=pass; d=google.com; s=arc-20160816; b=rVrvfjzMrQqrvNR1pB7Ur+tfEgRn/1qqeMoF+ULvbK+JcemgD4tP/kJDpUla1V22Al fVqfRkMkRzAt5VfwqvwyQoiaBgClslF57ZA8gSHX/HYGqH6ZT7ra+NQIkky2aUSkKYxS pvJYaHefgtuP2mZ1ARXjE8LFfvSOZTcLt1tFogq8sit5Xte/LngI5rbwpD5Z6lToPR6d 7WEJ9hXTyyE/qRgpMmHyl2y0Iu03w9XPeFOgLahN84RXqM0s84InFmZ+7ieMUbJQf2kO hPv8k7UYseWiHV0cJgoAm2l7HpHuXRPxJligIOx2UYGK/VO2Nw6BBkWGmIg4xjcSungz SSdA== 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=JG1AkSUO+2scOPf8G7kcTznpAxKAt8EKp8qW9cPFQ5U=; fh=yrE9O525sLNdIXC06sJBIlRUjYfWNm6imQ0cf3A93gQ=; b=BmbQLiLzv8n2sxmU7us87IxhE0UHtyB06moaWOmkgUQFjtIZoJGLRWi9Xzn922mEPL /c4920hcgdQnxclXVlIDAAucpbbQr0NovsdYL29ShKtZSgXEPN11UvQl8eIGjVF+hANZ 7Z/EWRne9B0acIZeGxTLw36gzotLfTkgt4QdqQugAnU0mBGd1YjtTgsdza0qohCVjKQK 2UDVhs/EnkwpsiQRz6S2RB7Tefu2DOr6W/WtFYv1ksWMimwWix0K81/XgvByilLrvRfN Qsw3NPyLWvI1jQwGNh7ND/ieuM4c/DdYREntXVn/vy2QJ9iV66qtMNfO36Kf7lw9Y6nd V6mQ==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=WJYlbGZL; arc=pass (i=1 dkim=pass dkdomain=intel.com dmarc=pass fromdomain=linux.intel.com); spf=pass (google.com: domain of linux-kernel+bounces-75317-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-75317-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 p8-20020a05622a13c800b0042dc7bbcc72si12529855qtk.680.2024.02.21.11.55.52 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 21 Feb 2024 11:55:52 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-75317-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=WJYlbGZL; arc=pass (i=1 dkim=pass dkdomain=intel.com dmarc=pass fromdomain=linux.intel.com); spf=pass (google.com: domain of linux-kernel+bounces-75317-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-75317-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 1BD031C24CF9 for ; Wed, 21 Feb 2024 18:38:48 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 1C7BD12BF0B; Wed, 21 Feb 2024 18:35:22 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="WJYlbGZL" Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.7]) (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 8F58D8564D; Wed, 21 Feb 2024 18:35:10 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.7 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1708540514; cv=none; b=Ons6F8ncnLW0pPMpWBxsyMqVe1VXY+XKhdnSwtte2wPs1+HU+QnnnwE9dJXpXVN9Nfe2A4CvIBI50aSyMomKiwQf6JDU0hLEKCD6E7NDGcKJdxE9vS/Otb0/r/lMKTOqxDPVfWeXmNUYXDMGmDN/c/aWNG6eUxcEl0b6c3pchCE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1708540514; c=relaxed/simple; bh=lTV4RH4qiS21e5gSPVWYHbVcBJWdPYtUVhU20SXaAR4=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=cQqyT+yWBZoLBdkT3/tEWb2B+ZwiuPZ6NV57prNl8uCKteIsHqvIU1VlD3XwRwzVtGGDw0G9fNBD14wV1aFAEkYxwstufutON/EO9CiNAVBS3DSgN/e1wzla0v441iu6aliRI25NzyA2b1R/q4E8VJmFjs5BCGkkpUN96srFIoM= 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=WJYlbGZL; arc=none smtp.client-ip=192.198.163.7 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=1708540511; x=1740076511; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=lTV4RH4qiS21e5gSPVWYHbVcBJWdPYtUVhU20SXaAR4=; b=WJYlbGZLAc4nSX1rS+pirmLVyf04yXiyEaR5VsaVbbSLtrWUzaaGKn35 gLlUsy6D1Te+rSYSXZeq9bwYhRzNKfP1SHGZzPRpO138IUfY+QVjDmYjM p/lKtKp0vtIf+Rbda1SFvKXJ+hayxBTkNlVJgx6yhcKmIM63cgtPJVlE1 qW68rxrAY45t/hVCD+VaeVGbbmJBstz/cTTxqR7wDhkOfalv3ZVQoqGNa JROlODygFKZUNdZrmUhTXVF8tQWZxG5i+hZsVzglK1mhDD4ujioVaiD8G c7B/HlhffxtPjbUOLgBl3h9y75wa4pnDzWcYdqGsCZ+vIxKQNcErWm/8+ Q==; X-IronPort-AV: E=McAfee;i="6600,9927,10991"; a="28164888" X-IronPort-AV: E=Sophos;i="6.06,176,1705392000"; d="scan'208";a="28164888" Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmvoesa101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 21 Feb 2024 10:35:03 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10991"; a="936684759" X-IronPort-AV: E=Sophos;i="6.06,176,1705392000"; d="scan'208";a="936684759" Received: from black.fi.intel.com ([10.237.72.28]) by fmsmga001.fm.intel.com with ESMTP; 21 Feb 2024 10:34:55 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id 8318E2A0; Wed, 21 Feb 2024 20:34:47 +0200 (EET) From: Andy Shevchenko To: Greg Kroah-Hartman , Andy Shevchenko , Thomas Gleixner , linux-kernel@vger.kernel.org, linux-serial@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-aspeed@lists.ozlabs.org, linux-rpi-kernel@lists.infradead.org, linux-mips@vger.kernel.org, linux-tegra@vger.kernel.org Cc: Jiri Slaby , Joel Stanley , Andrew Jeffery , Florian Fainelli , Ray Jui , Scott Branden , Broadcom internal kernel review list , Al Cooper , =?utf-8?q?Ilpo_J=C3=A4rvinen?= , Paul Cercueil , Vladimir Zapolskiy , Thierry Reding , Jonathan Hunter , Kunihiko Hayashi , Masami Hiramatsu Subject: [PATCH v1 14/14] serial: 8250_uniphier: Switch to use uart_read_port_properties() Date: Wed, 21 Feb 2024 20:31:30 +0200 Message-ID: <20240221183442.4124354-15-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.43.0.rc1.1.gbec44491f096 In-Reply-To: <20240221183442.4124354-1-andriy.shevchenko@linux.intel.com> References: <20240221183442.4124354-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: 1791539651275650447 X-GMAIL-MSGID: 1791539651275650447 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_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..d3f270a191ee 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, true); + if (ret) + return ret; up.port.type = PORT_16550A; up.port.iotype = UPIO_MEM32;