From patchwork Sat Dec 10 22:05:58 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 32100 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:f944:0:0:0:0:0 with SMTP id q4csp1511752wrr; Sat, 10 Dec 2022 14:08:02 -0800 (PST) X-Google-Smtp-Source: AA0mqf7wzGcKkCobR/DNJiBICEzE0UUeIExR23aMONkdMPF5bgUzuIVUDe9rdjavRtGcHl3Cfs2x X-Received: by 2002:a17:902:ef45:b0:187:2bff:da48 with SMTP id e5-20020a170902ef4500b001872bffda48mr11090881plx.58.1670710082531; Sat, 10 Dec 2022 14:08:02 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1670710082; cv=none; d=google.com; s=arc-20160816; b=Cxq2Qg20EksIRi0l6mttgg1xAfDJ7BoaOuvtZ4YeHvSL2d/yOyk3rWqcDPJQes0SIt xQu7XoGId6wX47IWRMxPXt/FpOJ9HInnTcPery7CvigzfyRRMPHPM/Crbt0cZCUtMAJT UdTPs6Kx0usRwgs/lRI9q16Ag0QN94L6TxdEW6QCCF9M9i804FDimDrgaeu5gSy2Cssh +qs7I/gNWNwkzZiyivc3U3o7UyoUEsdn4va0gN2aWPXBmdgQHvCMfGzJ7LRUPh7vy5Pc fHe/FdzgBTjfPhZ7nXNfxa2s48qeZD4qD1Ih39xrNAXT8jIO6MIuKjOLoZ5L8GnNVVSO nw4w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=0GuEZDxQtFUpPoVPuxgwDla/+8Cb/ENR5o9d6z+1eC4=; b=OmEI+9eFkxrG1FUA6SC1Ju8XSEUp9DlhP1qyf68HhyAjpPw6qw77tdtmZzqk62tdwJ 2oK0NT9Q/XzGTotG1Aszs0hFNpIZe6NThk0A+IFOZV9Ufna7rghDxGPGnWZsgheTRp5I dH8Usf1lZpGK4w0fcY5l1mzxhZBqIAaLx254if9iOXrHb5MqFBg6qpNSO2Kbows3RkKs KihQTq03q5Gpqr6QjiJ8NGk3zaZcOPsnV6z5UegdubjcSTyuhoCtNcAR0W2YoPFl40FS tokbt9Q68tZbfAHVkr5r/raPACi78jrJpi/Ntue+rEzQdbO79cQmA0SaxEL/tyZ9AqHk SZAA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=dPlu4Ovg; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id n11-20020a170902d2cb00b00175449cf6f8si5615595plc.606.2022.12.10.14.07.49; Sat, 10 Dec 2022 14:08:02 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=dPlu4Ovg; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229805AbiLJWGA (ORCPT + 99 others); Sat, 10 Dec 2022 17:06:00 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38640 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229845AbiLJWFk (ORCPT ); Sat, 10 Dec 2022 17:05:40 -0500 Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9DC0213D24; Sat, 10 Dec 2022 14:05:39 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1670709939; x=1702245939; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=nkgtRUpy/gZUYkzHWEcPgSfI8fgT7IazaxmYic/RiEE=; b=dPlu4OvgESPDicL/HRR07nzbCj17SybpwfB9WMCv6HFoCbMfEf0bYgVK qWBGEvFenvQgaEtIfVyOdEfgLv9tTjA7/FASwgVhOfpOB1kmwPj+uuB5I JtWU86djkJsEHvnGL7T/zCtK4K+aTfF4omWTbjhZOgqVT7P4iMfxiOT6G QdffMFR1kGCrIyU9QqbVKZofoXfRdTaRX4/CVRXTByPLjoGqOxMZltV3k brm3yUeB3N8A0B8VZhrXNFFrHm88VQhp1Crrb1ewtr1eUkZDfWnjga73k S9IjkMpOD6mKKGdWUQ1VTzqnq7KSku0DYvIAp9LVEJiqxaoHlrsZlyQzN w==; X-IronPort-AV: E=McAfee;i="6500,9779,10557"; a="298001327" X-IronPort-AV: E=Sophos;i="5.96,235,1665471600"; d="scan'208";a="298001327" Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 10 Dec 2022 14:05:38 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10557"; a="754448424" X-IronPort-AV: E=Sophos;i="5.96,235,1665471600"; d="scan'208";a="754448424" Received: from black.fi.intel.com ([10.237.72.28]) by fmsmga002.fm.intel.com with ESMTP; 10 Dec 2022 14:05:36 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id 47584179; Sun, 11 Dec 2022 00:06:05 +0200 (EET) From: Andy Shevchenko To: Bartosz Golaszewski , linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Linus Walleij , Bartosz Golaszewski , Haibo Chen , Andy Shevchenko Subject: [PATCH v2 1/4] gpio: pca953x: avoid to use uninitialized value pinctrl Date: Sun, 11 Dec 2022 00:05:58 +0200 Message-Id: <20221210220601.77648-1-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.35.1 MIME-Version: 1.0 X-Spam-Status: No, score=-4.3 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,RCVD_IN_DNSWL_MED,SPF_HELO_NONE, SPF_NONE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1751866495053713178?= X-GMAIL-MSGID: =?utf-8?q?1751866495053713178?= From: Haibo Chen There is a variable pinctrl declared without initializer. And then has the case (switch operation chose the default case) to directly use this uninitialized value, this is not a safe behavior. So here initialize the pinctrl as 0 to avoid this issue. This is reported by Coverity. Fixes: 13c5d4ce8060 ("gpio: pca953x: Add support for PCAL6534") Signed-off-by: Haibo Chen Signed-off-by: Andy Shevchenko --- v2: used default case (Andy) drivers/gpio/gpio-pca953x.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/gpio/gpio-pca953x.c b/drivers/gpio/gpio-pca953x.c index a59d61cd44b2..5299e5bb76d6 100644 --- a/drivers/gpio/gpio-pca953x.c +++ b/drivers/gpio/gpio-pca953x.c @@ -474,6 +474,9 @@ static u8 pcal6534_recalc_addr(struct pca953x_chip *chip, int reg, int off) case PCAL6524_DEBOUNCE: pinctrl = ((reg & PCAL_PINCTRL_MASK) >> 1) + 0x1c; break; + default: + pinctrl = 0; + break; } return pinctrl + addr + (off / BANK_SZ); From patchwork Sat Dec 10 22:05:59 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 32101 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:f944:0:0:0:0:0 with SMTP id q4csp1512477wrr; Sat, 10 Dec 2022 14:10:16 -0800 (PST) X-Google-Smtp-Source: AA0mqf49PQNvJvkrBv8GH9bEM345v8qjZ2sSnE3z7kXGZbwQoVmxYLOv8eX7M6ftW/LA1c3hufCc X-Received: by 2002:aa7:96fc:0:b0:577:fdb8:e601 with SMTP id i28-20020aa796fc000000b00577fdb8e601mr6879316pfq.21.1670710216253; Sat, 10 Dec 2022 14:10:16 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1670710216; cv=none; d=google.com; s=arc-20160816; b=yr+1922bFdvPCV9w6qh4CrK2MZADwrx1RxvfbJIzN1D+oE0jIDq6MboVs/cbMAqV7a Ydh66zaIMFxjaoQr35/IYA9SP09aQv/36EpqoLKoDUR1fcVc9S3VNp7AGoeAb7Kv4dxO s46tJlnSPHKeMfpW6qj3uktn4YJdrRGp0DSeIYeFkq/RCZfG6BwIb/7uEECODEnX9MMV stb7ON9uMQkLgN/0jSzj6D5fFKR25OG6LfUt4irUrK0BpqJisB5JHb72KoTZeolMsSxF OQEml/Uqlu+f2wd4psMHKG1qN409lvi70htjaMtVkIjcAEwZ6zbDVNowHeo+p5Rzw6h/ dOhA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=cUEhTrtcroSdMsr9hHcEhiv/dGaU/bEp1yiGKHAT0MU=; b=k+R3BNDY4j6haepKC6gSJp7rjbxCXBNVezUTEq86WeH8AVFPGBXmEhtzYVmy7Rt4hV jrjCr9QghgWWFLcBRJHIK9/V/UL7Qq9/WrknYvdI36w4YbP6GqF8ymdPrBwvXUWnTBSU sQ46VBFCMSndtaysEK4LwCxBG0nDg7TWvZyPUVMuktLsju5dyjxgwaBpPiySkl3OMs7D 1NeuSzfBKrzFVRxj+/Mn2PYDV3s5AxE+34Chf6ei0UgXwpBAhwnixOBOFGjIhDd+9QqU 2Ee/P89vUW7Nowuxnmat6tf4n2IF1sLZtkcCGoLWw6W47oVdZ745de1akDWMN+CnaTnP TnLw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=Mcd3mho+; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id y13-20020a056a00180d00b00576caf113acsi6053040pfa.8.2022.12.10.14.10.03; Sat, 10 Dec 2022 14:10:16 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=Mcd3mho+; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229896AbiLJWGE (ORCPT + 99 others); Sat, 10 Dec 2022 17:06:04 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38656 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229847AbiLJWFk (ORCPT ); Sat, 10 Dec 2022 17:05:40 -0500 Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 1599613D4F; Sat, 10 Dec 2022 14:05:40 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1670709940; x=1702245940; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=vkrxbHg3Pwn+h3sN0NMmjjLRRztZhfqgXCcqyghgbqc=; b=Mcd3mho+wz+ydv/W/CsTnxSVtDLUSfQA5Tb8F+QNAcRF9pw8e5fKGXne OVTxQO7eDL9zBLWHMjpRfYj3xvZkrWG05brxzdOSAHx2DUjISf5qeT6b7 FbrlZhjI9jQBuI6gStl5g14q3rXQof/ER/J2qz9mLuRYcy9nMz6pHzsky vhafIpcKq5tKIUIeuX3SeTHBtbmG4IPiPm96tRQxuWf37ekzIlYu3lsz3 PJFWq1p8n7/MiQS/DMnS6aFHyUkf6koTGZHOzhe1nLVW+n9NT6pIkrejW f3F73N4cs04ZnGsYPjtaFjOWYaZGC+OlKQe1krWv8V7mhPT9jqXipji3D A==; X-IronPort-AV: E=McAfee;i="6500,9779,10557"; a="403907181" X-IronPort-AV: E=Sophos;i="5.96,235,1665471600"; d="scan'208";a="403907181" Received: from orsmga006.jf.intel.com ([10.7.209.51]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 10 Dec 2022 14:05:39 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10557"; a="625470514" X-IronPort-AV: E=Sophos;i="5.96,235,1665471600"; d="scan'208";a="625470514" Received: from black.fi.intel.com ([10.237.72.28]) by orsmga006.jf.intel.com with ESMTP; 10 Dec 2022 14:05:36 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id 4FB9BF7; Sun, 11 Dec 2022 00:06:05 +0200 (EET) From: Andy Shevchenko To: Bartosz Golaszewski , linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Linus Walleij , Bartosz Golaszewski , Haibo Chen , Andy Shevchenko Subject: [PATCH v2 2/4] gpio: pca953x: avoid logically dead code Date: Sun, 11 Dec 2022 00:05:59 +0200 Message-Id: <20221210220601.77648-2-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20221210220601.77648-1-andriy.shevchenko@linux.intel.com> References: <20221210220601.77648-1-andriy.shevchenko@linux.intel.com> MIME-Version: 1.0 X-Spam-Status: No, score=-4.3 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,RCVD_IN_DNSWL_MED,SPF_HELO_NONE, SPF_NONE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1751866635981888072?= X-GMAIL-MSGID: =?utf-8?q?1751866635981888072?= From: Haibo Chen The current code logic make the condition "else if (reg >= 0x54)" can't be true, cause the dead code. So fix it to match the coder expectation. This is reported by Coverity. Fixes: 13c5d4ce8060 ("gpio: pca953x: Add support for PCAL6534") Signed-off-by: Haibo Chen Signed-off-by: Andy Shevchenko --- v2: shuffled code to check bigger value first (Andy) drivers/gpio/gpio-pca953x.c | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/drivers/gpio/gpio-pca953x.c b/drivers/gpio/gpio-pca953x.c index 5299e5bb76d6..2c8586b3191f 100644 --- a/drivers/gpio/gpio-pca953x.c +++ b/drivers/gpio/gpio-pca953x.c @@ -309,26 +309,26 @@ static bool pcal6534_check_register(struct pca953x_chip *chip, unsigned int reg, int bank; int offset; - if (reg >= 0x30) { + if (reg >= 0x54) { /* - * Reserved block between 14h and 2Fh does not align on - * expected bank boundaries like other devices. + * Handle lack of reserved registers after output port + * configuration register to form a bank. */ - int temp = reg - 0x30; + int temp = reg - 0x54; bank = temp / NBANK(chip); offset = temp - (bank * NBANK(chip)); - bank += 8; - } else if (reg >= 0x54) { + bank += 16; + } else if (reg >= 0x30) { /* - * Handle lack of reserved registers after output port - * configuration register to form a bank. + * Reserved block between 14h and 2Fh does not align on + * expected bank boundaries like other devices. */ - int temp = reg - 0x54; + int temp = reg - 0x30; bank = temp / NBANK(chip); offset = temp - (bank * NBANK(chip)); - bank += 16; + bank += 8; } else { bank = reg / NBANK(chip); offset = reg - (bank * NBANK(chip)); From patchwork Sat Dec 10 22:06:00 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 32098 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:f944:0:0:0:0:0 with SMTP id q4csp1511634wrr; Sat, 10 Dec 2022 14:07:39 -0800 (PST) X-Google-Smtp-Source: AA0mqf6o/lc13gP/NmsBuS9EpFAEQjk+9fDEJ8gH6oL6h0MH5iA7MgFdg2qVckLhenbvQ5OOGdD2 X-Received: by 2002:aa7:c651:0:b0:46c:edb5:afdf with SMTP id z17-20020aa7c651000000b0046cedb5afdfmr9867330edr.41.1670710059599; Sat, 10 Dec 2022 14:07:39 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1670710059; cv=none; d=google.com; s=arc-20160816; b=XJ4LMZDB3E9TMto/50Ym4S4hU4XO1+FaDcUrgdvTClNpYMOeKUWetrla24/v5ZJNXc nW12gf6bcin1vkxnZqy7I+dLq3GHbPV/pAJl5NbGJocH8ekahpGgM8iqC5/4ZrKpv4C4 EHR5o289kS7g9jeJh0Lxy8SMTbaCa5k9v/zyylZZ89Vjt1m4rwYDOH+lrsS6noCh+MhL GDbMhFR93uNCmYCvhYf2VteNY8UB+b0UHCrI3vyA+QQ4G436DwcNc0CEXd9P0maSsXl/ BNOGFbeXJxShi29N1kFRaC3yar6Q3Lo39TdWf0VFYOblYUoRiRGsXwmcPLgo7Fe0L0as 6wIQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=Ww52SzHP5siX0fv0qiLvbbX4iz5zsh4mssgfcdif/bc=; b=aWUez9ewQ0zDf6fRQMsJXg6MDbtWsC4F48WvsZYAor2qK9R9cNN5NrjR+TshLQLDFO ERUxKh4zcPiNcJPHsWYAr9UXD1fpeKYFa8lagNf8b4H0AWY91V3CxvLadd8n4F+4t1xx y0ya2gDKEdkEsahG2bAGSDzTnEk1vmA8jcVufdPvOQui0aDbw0Mc3eYwWw5tJxCQUluC hC25IPaADSXUlIdzyJ+RXlpCCcQy/o99IMdYPu6iMxUSsnP5DIXb1bsYTtfpxM3dWvf+ UVqQ5g4Xpnz8kAdtLnDBXf7L1j8XTLfRfN6uobjBB0HUHPiCmMw3NeEGRx3aGWlcFuoI gc7Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=DkaVK3Dy; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id d25-20020a056402079900b00461c7ad026csi3723326edy.61.2022.12.10.14.07.16; Sat, 10 Dec 2022 14:07:39 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=DkaVK3Dy; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229907AbiLJWFy (ORCPT + 99 others); Sat, 10 Dec 2022 17:05:54 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38634 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229844AbiLJWFj (ORCPT ); Sat, 10 Dec 2022 17:05:39 -0500 Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 2883513CEB; Sat, 10 Dec 2022 14:05:39 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1670709939; x=1702245939; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=N9GIhe+43+8kbtpf4SUGwC07xNhkTl9g7PMWCO7shEk=; b=DkaVK3Dy19fby5rI0Chy5g0tBZjq9GIA6u/6KMyOD206QsnwMudF8H7n Q1NDJPxnLT03QZOwEM5BD+ugLhp94A3C+nKB8HiSRCx8N5/UZrfwXPx4a goHIHIb5ki3nvw2wYRnYh/D6475mBp8pFtuWur37mRXx3yMGWg+OB2niO ZC4OiS0FxSglLvoQNFEbGXx3KtDcQvq0i+Xf9VAPzi2wjbnOB5GF3yHk3 Pg2xre4QssOcVKxpnuVrOu9jjXliJ9r/rZc92SfOpltGlonBjOu1txsbc chh0gROadD904qt6C0xwb6yg6NI4Ou5uowKV8XX7qYdmGCZGxBCAJRsd1 Q==; X-IronPort-AV: E=McAfee;i="6500,9779,10557"; a="403907178" X-IronPort-AV: E=Sophos;i="5.96,235,1665471600"; d="scan'208";a="403907178" Received: from orsmga006.jf.intel.com ([10.7.209.51]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 10 Dec 2022 14:05:38 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10557"; a="625470513" X-IronPort-AV: E=Sophos;i="5.96,235,1665471600"; d="scan'208";a="625470513" Received: from black.fi.intel.com ([10.237.72.28]) by orsmga006.jf.intel.com with ESMTP; 10 Dec 2022 14:05:36 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id 5D9946B1; Sun, 11 Dec 2022 00:06:05 +0200 (EET) From: Andy Shevchenko To: Bartosz Golaszewski , linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Linus Walleij , Bartosz Golaszewski , Andy Shevchenko Subject: [PATCH v2 3/4] gpio: pca953x: Clean up pcal6534_check_register() Date: Sun, 11 Dec 2022 00:06:00 +0200 Message-Id: <20221210220601.77648-3-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20221210220601.77648-1-andriy.shevchenko@linux.intel.com> References: <20221210220601.77648-1-andriy.shevchenko@linux.intel.com> MIME-Version: 1.0 X-Spam-Status: No, score=-4.3 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,RCVD_IN_DNSWL_MED,SPF_HELO_NONE, SPF_NONE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1751866471658139531?= X-GMAIL-MSGID: =?utf-8?q?1751866471658139531?= The pcal6534_check_register() is a bit too verbose. Clean up it, by deduplicating some operations and switching to the modulo operation as on some architectures / and % can become a single assembly instruction. Signed-off-by: Andy Shevchenko --- v2: new patch drivers/gpio/gpio-pca953x.c | 21 +++++++++------------ 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/drivers/gpio/gpio-pca953x.c b/drivers/gpio/gpio-pca953x.c index 2c8586b3191f..8aba8df393bd 100644 --- a/drivers/gpio/gpio-pca953x.c +++ b/drivers/gpio/gpio-pca953x.c @@ -306,6 +306,7 @@ static bool pca953x_check_register(struct pca953x_chip *chip, unsigned int reg, static bool pcal6534_check_register(struct pca953x_chip *chip, unsigned int reg, u32 checkbank) { + int bank_shift; int bank; int offset; @@ -314,26 +315,22 @@ static bool pcal6534_check_register(struct pca953x_chip *chip, unsigned int reg, * Handle lack of reserved registers after output port * configuration register to form a bank. */ - int temp = reg - 0x54; - - bank = temp / NBANK(chip); - offset = temp - (bank * NBANK(chip)); - bank += 16; + reg -= 0x54; + bank_shift = 16; } else if (reg >= 0x30) { /* * Reserved block between 14h and 2Fh does not align on * expected bank boundaries like other devices. */ - int temp = reg - 0x30; - - bank = temp / NBANK(chip); - offset = temp - (bank * NBANK(chip)); - bank += 8; + reg -= 0x30; + bank_shift = 8; } else { - bank = reg / NBANK(chip); - offset = reg - (bank * NBANK(chip)); + bank_shift = 0; } + bank = bank_shift + reg / NBANK(chip); + offset = reg % NBANK(chip); + /* Register is not in the matching bank. */ if (!(BIT(bank) & checkbank)) return false; From patchwork Sat Dec 10 22:06:01 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 32099 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:f944:0:0:0:0:0 with SMTP id q4csp1511674wrr; Sat, 10 Dec 2022 14:07:48 -0800 (PST) X-Google-Smtp-Source: AA0mqf4E0yH2YcZOksk9qBzP87tGNOAqvMBKFiX8yn0cVqGPWccD6Gumeoejo07eWwbZNjl5+cxi X-Received: by 2002:a05:6a21:8cc9:b0:a4:255b:f3b8 with SMTP id ta9-20020a056a218cc900b000a4255bf3b8mr12110708pzb.45.1670710067771; Sat, 10 Dec 2022 14:07:47 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1670710067; cv=none; d=google.com; s=arc-20160816; b=o2Ywl5h/uy+Ip+Mp342vZpJOfjKlH4KaKNJx6MqXLBEoK8XXzy2C2Nrp/HR6KOuVMB fWDk4Y3wJx/ac/7akSPWKt0SIh/iyLpS5hAtsu+5NhBYUn/9FF5NJlmMSad/OmzomyXG +py8lcU1x3xdiWoIxh5c4CnGT2YEM5Fu++tV07V2KfEPkkyQq8rkVat3NOkDUM51cpNj /g0byG5LD/vaSmmPwpaoqkaXgUvzM202ikNmpbhfjlcw3H9baDfbSnRr6FTKSN8LQAmw oFJ1x6g4RHBoukJaMa/4HkKWCW4CMOaYepR8Mgz+rkXE+7dt427HgiMYRa59HKvn8xrS dVJw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=Y8wj1BQeN8krBByKIv+6VkkjfodcgulIwxvYwq+goMM=; b=bmJJB7AP1KZ7yoJI6V68bgy3vl+ZdLf5iIIVW483jjc8GMbt7F3aVdSr5VBRikqBvy Lx2JN8Le8FvhJGPypZEILbiQWJ1SJG53GjLgDjt4uDMoienxfSlmAyZl9X937E9l47dX mk+EASqEvZdBJlZsnlz+ZeF+yXKAn54wmtq3CH5N0eJsSskQ9HS+J51PaKbnL6Nrzl+3 Hb6m8lZF/6vo/7PkfS2XxZZtKDbrqtuWUCAhQM3hZO1O8UsLeB1Y+n1vJkuzhHVw2scj vMBCipJDWQ8cdhurvWXxkXOPno9++vKlrYi1aG54aZPAtTP4iiDRQIv3KWYK/UKwdanD BiZw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=MGAAQ4Rq; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id d70-20020a633649000000b00478814eaea9si5305006pga.654.2022.12.10.14.07.34; Sat, 10 Dec 2022 14:07:47 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=MGAAQ4Rq; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229879AbiLJWF5 (ORCPT + 99 others); Sat, 10 Dec 2022 17:05:57 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38632 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229843AbiLJWFj (ORCPT ); Sat, 10 Dec 2022 17:05:39 -0500 Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A644111C3B; Sat, 10 Dec 2022 14:05:38 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1670709938; x=1702245938; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=MnNwcdMxEciJeVyGc4ORlNy3VU7ZtA7su0OonJmjLgM=; b=MGAAQ4RqqMkoNzrU6bj0+pmfGzB6amo9IJaRA3kIpibd6naKqy6WV1jQ rQZovSo8d5nCVTtZ2IOGwNOWWOLqfXw8gA7LeQBj4ZTFwjwIU0dENa+AV XOlxUFykZK41Ow5OAxvgVf17pu9jyRhp/lqp+P/CtaCIwawbxNsHRbscS S4aLq84iC3oneIpghS0vDW80/8A30o6tLWLa4XJPHfXk8q4Qnsu3eCjJU iG/tFCqjN9QC6I3QfkGB+iOdgREvt5GUXvDQqv9UwAq4ew6gZoiYdSxPA muvztjwocE+xOSsu6O/RXv+bMa9JN3OL/qqfHxHMMxng9wk8aunpRuu8c g==; X-IronPort-AV: E=McAfee;i="6500,9779,10557"; a="298001324" X-IronPort-AV: E=Sophos;i="5.96,235,1665471600"; d="scan'208";a="298001324" Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 10 Dec 2022 14:05:38 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10557"; a="754448425" X-IronPort-AV: E=Sophos;i="5.96,235,1665471600"; d="scan'208";a="754448425" Received: from black.fi.intel.com ([10.237.72.28]) by fmsmga002.fm.intel.com with ESMTP; 10 Dec 2022 14:05:36 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id 64A8A6E2; Sun, 11 Dec 2022 00:06:05 +0200 (EET) From: Andy Shevchenko To: Bartosz Golaszewski , linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Linus Walleij , Bartosz Golaszewski , Andy Shevchenko Subject: [PATCH v2 4/4] gpio: pca953x: Remove unused PCAL953X_OUT_CONF from pcal6534_recalc_addr() Date: Sun, 11 Dec 2022 00:06:01 +0200 Message-Id: <20221210220601.77648-4-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20221210220601.77648-1-andriy.shevchenko@linux.intel.com> References: <20221210220601.77648-1-andriy.shevchenko@linux.intel.com> MIME-Version: 1.0 X-Spam-Status: No, score=-4.3 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,RCVD_IN_DNSWL_MED,SPF_HELO_NONE, SPF_NONE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1751866480114890109?= X-GMAIL-MSGID: =?utf-8?q?1751866480114890109?= First of all, PCAL953X_OUT_CONF is not used in the driver. Second, it's not a per-bank register, it's a single for the chip and should be handled differently anyway. To avoid confusion, drop PCAL953X_OUT_CONF from pcal6534_recalc_addr(). Signed-off-by: Andy Shevchenko --- v2: new patch drivers/gpio/gpio-pca953x.c | 1 - 1 file changed, 1 deletion(-) diff --git a/drivers/gpio/gpio-pca953x.c b/drivers/gpio/gpio-pca953x.c index 8aba8df393bd..1286b22ef23a 100644 --- a/drivers/gpio/gpio-pca953x.c +++ b/drivers/gpio/gpio-pca953x.c @@ -461,7 +461,6 @@ static u8 pcal6534_recalc_addr(struct pca953x_chip *chip, int reg, int off) case PCAL953X_PULL_SEL: case PCAL953X_INT_MASK: case PCAL953X_INT_STAT: - case PCAL953X_OUT_CONF: pinctrl = ((reg & PCAL_PINCTRL_MASK) >> 1) + 0x20; break; case PCAL6524_INT_EDGE: