Received: by 2002:a05:6358:45e:b0:b5:b6eb:e1f9 with SMTP id 30csp957519rwe; Wed, 31 Aug 2022 14:18:01 -0700 (PDT) X-Google-Smtp-Source: AA6agR53Umi5PvW4iR2MMy7tVDFex3I3ASFuV0CAd8GT1k8kwlk5vglOeXZ9Arw9rhND94LOWKkL X-Received: by 2002:a05:6402:2216:b0:448:79d1:bfbb with SMTP id cq22-20020a056402221600b0044879d1bfbbmr13239963edb.16.1661980681418; Wed, 31 Aug 2022 14:18:01 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1661980681; cv=none; d=google.com; s=arc-20160816; b=H4y/wxrLfXT697oAVqQ955vMvhdc1GZoJ+isRnjN0ufvpzhgwCBCULa9zTcMOz8aVM GeshIfMvAgv/aaFatmtPZkGDtobC8gIiohBGeIzSb4tilPbcMz5ql5dYZY2rzUVZ9mDG /Xrh0qqPqiTmaxrHpDZPEGf3kDnbhlnZEA9P0jLUQr+xcqPyKYVmX0h2v3LLizWZ/Qfn Jw6tZnwA321Yjtht+LMx0eVgx3K5rHjPJ/YzuzNIzDmS02P0wzqDajbHEB+ZnEdtFHvL G7rNeLZ7XPCAXMBjG9n6xsYQ89BAlq4KepKZkNFdlRiGgk3TciVKLtoct7rBe8m3RFUN /bzQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=j8UxbtDew574grRc59F86ZudDhnKYJ7sEvH/yI7OmEs=; b=U2aWFLZj2PysUe7rccxPf7H7MQHYYPeFG+G1oKohZYpdz4C1m6MIwgwJ/dEYBvs1QQ KVKgvY9W6FZECz1DNW1OhV+NtnuPR4ybkWTiApvfVLwHBeZj/AQXJuu9TqqHMBktoNbf n2Jjbavn7Jh2tx92SU6Y1Y3z8rtAQaNRFvY2CNWBtX1lS9oRyLqLvIBYwdapWiesjIj7 1Vscray6PS3xklip5RYRnEt7uk3snuJqWiOf1egCa/1sXM7tDsyT+Nrx9YrpEgewL9+C WeqwZh43kxyDCZf5RFB5pjv7kS2FN8f6JKA9BNA4drhpuZ7H11yuVkSc6zNvVpP1nOr1 WrVg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=pLlZHUsa; 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=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id y25-20020a50e619000000b0044838667a9fsi188060edm.357.2022.08.31.14.17.25; Wed, 31 Aug 2022 14:18:01 -0700 (PDT) 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=@gmail.com header.s=20210112 header.b=pLlZHUsa; 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=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231544AbiHaU4b (ORCPT + 99 others); Wed, 31 Aug 2022 16:56:31 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38914 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229996AbiHaU41 (ORCPT ); Wed, 31 Aug 2022 16:56:27 -0400 Received: from mail-qv1-xf2f.google.com (mail-qv1-xf2f.google.com [IPv6:2607:f8b0:4864:20::f2f]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 3FA5DD2E86; Wed, 31 Aug 2022 13:56:26 -0700 (PDT) Received: by mail-qv1-xf2f.google.com with SMTP id f9so8367026qvw.11; Wed, 31 Aug 2022 13:56:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date; bh=j8UxbtDew574grRc59F86ZudDhnKYJ7sEvH/yI7OmEs=; b=pLlZHUsafseS+eCvZzo2JMww4kXTSN5Q009GbouFmh6rphSQFQvi1GE/RwHfiTJKMd 9migLuUKejEVPejkRaYRfP7/BIf5BciS+SYPx0hw2ASIXdnkmETO1wOs6NEhfl9bLOuB CtPa7JYith5/ZdRSaQvBadQYpYozjdj30GtuP9HRhzxeOodxfE83lEYOPIZlhbySw81C VW3tujh7TS6fEfmWuSENg9LnaCvMgwotDGbZ2iCUXXhPWsDXE4taQvChbTf6e9jmeunl CODvVln7wyQeAhYIKqsBZkpYHMGw5v/LftrW3ugq9j6T8npLQqqiDIKD1GBLhdqttybf tHdA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date; bh=j8UxbtDew574grRc59F86ZudDhnKYJ7sEvH/yI7OmEs=; b=J/s9NmfiPYexWNaRGdMB6wvegF9yIrt47YwlxTHlPsAqwCmingqq68X5L5ut1Wl7vg RjKknk86dMn+xtgsrjHuKrmvqoUBpR9sj8lKjPI55pdWV4WYsbjPqHvjORDAddB8ubwG RbgzKe2kCASW9MpshwRPfSDAuzPOowCJcQFDwufXpY73/KaFuByhDPuf8F3YR5bHWLOV /9ZGSmK5lCVnCxuB5+tHESXgXWKI7fgTYCJ6AB46O2tMo2R6akejFDbMKLcXTiPp0k6q EOOJQFkmgr8YwmmMUyk6w6ZQUU4XiAkIa7NVsCnDMoDzLDklef5RAHY3PLSVxYhEm3wz KeJA== X-Gm-Message-State: ACgBeo2qZxxzyg36f0jw0TGapbxWxh7JF5E8K3pXguyUED4LSJeYv0pL C/W8VY9P9LZMfJGBG8qVcb/I+aWrRcN/X9E9pMW/Ffa+J7k= X-Received: by 2002:a05:6214:27ca:b0:499:95f:6379 with SMTP id ge10-20020a05621427ca00b00499095f6379mr12263042qvb.82.1661979385373; Wed, 31 Aug 2022 13:56:25 -0700 (PDT) MIME-Version: 1.0 References: <20220829133923.1114555-1-martyn.welch@collabora.com> <20220829133923.1114555-4-martyn.welch@collabora.com> In-Reply-To: <20220829133923.1114555-4-martyn.welch@collabora.com> From: Andy Shevchenko Date: Wed, 31 Aug 2022 23:55:49 +0300 Message-ID: Subject: Re: [PATCH 4/5] gpio: pca953x: Swap if statements to save later complexity To: Martyn Welch Cc: Linus Walleij , Bartosz Golaszewski , Collabora Kernel ML , "open list:GPIO SUBSYSTEM" , Linux Kernel Mailing List Content-Type: text/plain; charset="UTF-8" X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM, RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE 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 On Mon, Aug 29, 2022 at 4:43 PM Martyn Welch wrote: > > A later patch in the series adds support for a further chip type that > shares some similarity with the PCA953X_TYPE. In order to keep the logic > simple, If you say so... Reviewed-by: Andy Shevchenko > swap over the if and else portions where checks are made against > PCA953X_TYPE and instead check for PCA957X_TYPE. > > Signed-off-by: Martyn Welch > --- > drivers/gpio/gpio-pca953x.c | 31 +++++++++++++++---------------- > 1 file changed, 15 insertions(+), 16 deletions(-) > > diff --git a/drivers/gpio/gpio-pca953x.c b/drivers/gpio/gpio-pca953x.c > index 41e7ff83a735..19a8eb94a629 100644 > --- a/drivers/gpio/gpio-pca953x.c > +++ b/drivers/gpio/gpio-pca953x.c > @@ -293,13 +293,13 @@ static bool pca953x_readable_register(struct device *dev, unsigned int reg) > struct pca953x_chip *chip = dev_get_drvdata(dev); > u32 bank; > > - if (PCA_CHIP_TYPE(chip->driver_data) == PCA953X_TYPE) { > - bank = PCA953x_BANK_INPUT | PCA953x_BANK_OUTPUT | > - PCA953x_BANK_POLARITY | PCA953x_BANK_CONFIG; > - } else { > + if (PCA_CHIP_TYPE(chip->driver_data) == PCA957X_TYPE) { > bank = PCA957x_BANK_INPUT | PCA957x_BANK_OUTPUT | > PCA957x_BANK_POLARITY | PCA957x_BANK_CONFIG | > PCA957x_BANK_BUSHOLD; > + } else { > + bank = PCA953x_BANK_INPUT | PCA953x_BANK_OUTPUT | > + PCA953x_BANK_POLARITY | PCA953x_BANK_CONFIG; > } > > if (chip->driver_data & PCA_PCAL) { > @@ -316,12 +316,12 @@ static bool pca953x_writeable_register(struct device *dev, unsigned int reg) > struct pca953x_chip *chip = dev_get_drvdata(dev); > u32 bank; > > - if (PCA_CHIP_TYPE(chip->driver_data) == PCA953X_TYPE) { > - bank = PCA953x_BANK_OUTPUT | PCA953x_BANK_POLARITY | > - PCA953x_BANK_CONFIG; > - } else { > + if (PCA_CHIP_TYPE(chip->driver_data) == PCA957X_TYPE) { > bank = PCA957x_BANK_OUTPUT | PCA957x_BANK_POLARITY | > PCA957x_BANK_CONFIG | PCA957x_BANK_BUSHOLD; > + } else { > + bank = PCA953x_BANK_OUTPUT | PCA953x_BANK_POLARITY | > + PCA953x_BANK_CONFIG; > } > > if (chip->driver_data & PCA_PCAL) > @@ -336,10 +336,10 @@ static bool pca953x_volatile_register(struct device *dev, unsigned int reg) > struct pca953x_chip *chip = dev_get_drvdata(dev); > u32 bank; > > - if (PCA_CHIP_TYPE(chip->driver_data) == PCA953X_TYPE) > - bank = PCA953x_BANK_INPUT; > - else > + if (PCA_CHIP_TYPE(chip->driver_data) == PCA957X_TYPE) > bank = PCA957x_BANK_INPUT; > + else > + bank = PCA953x_BANK_INPUT; > > if (chip->driver_data & PCA_PCAL) > bank |= PCAL9xxx_BANK_IRQ_STAT; > @@ -1069,13 +1069,12 @@ static int pca953x_probe(struct i2c_client *client, > /* initialize cached registers from their original values. > * we can't share this chip with another i2c master. > */ > - > - if (PCA_CHIP_TYPE(chip->driver_data) == PCA953X_TYPE) { > - chip->regs = &pca953x_regs; > - ret = device_pca95xx_init(chip, invert); > - } else { > + if (PCA_CHIP_TYPE(chip->driver_data) == PCA957X_TYPE) { > chip->regs = &pca957x_regs; > ret = device_pca957x_init(chip, invert); > + } else { > + chip->regs = &pca953x_regs; > + ret = device_pca95xx_init(chip, invert); > } > if (ret) > goto err_exit; > -- > 2.35.1 > -- With Best Regards, Andy Shevchenko