From patchwork Sun Dec 2 19:35:43 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Marek Vasut X-Patchwork-Id: 10708159 X-Patchwork-Delegate: geert@linux-m68k.org Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id AE36B13AD for ; Sun, 2 Dec 2018 19:36:18 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 9D3892A565 for ; Sun, 2 Dec 2018 19:36:18 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 90FB32A7D2; Sun, 2 Dec 2018 19:36:18 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.0 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 2963F2A565 for ; Sun, 2 Dec 2018 19:36:17 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1725790AbeLBTgV (ORCPT ); Sun, 2 Dec 2018 14:36:21 -0500 Received: from mail-wr1-f68.google.com ([209.85.221.68]:38650 "EHLO mail-wr1-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725782AbeLBTgU (ORCPT ); Sun, 2 Dec 2018 14:36:20 -0500 Received: by mail-wr1-f68.google.com with SMTP id v13so9985027wrw.5; Sun, 02 Dec 2018 11:36:15 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=EUQ62/lExujbtX37sF68cLzhQ7vu+vas86ULqriXP00=; b=uzWnmIwI+gvDnaIIHfMt1SfdlLabb7ZAsrxdsLzNCwBS2XL+Nnz5yawWQyv/J7z9CT 5gBi+Hv0q5sPAgB/1k7Hw2yUFZGA3y1m+qFqnfoHpWy6awDH4VHerOify6PenGlf5cqT qR2L9P+7wCkdtXNDvUeQ3E2as+t0fPNBPXnELP7jPQe7pNwKLCHb80C/RHsyyiSYquLF 7TBCqUPZ+pb2NJjzd+O2/PlAmJ9+lUAmoUIxRJvkJSsMjkmBQUNpcMCIVof/Kvy++K/v lJQBR5NqIqp9mQI4zFsswyVgj6Xd/Tx+QsSI18yQ0mGrj/PXK/iFEpLc1//rRIjy9Rwa +B0w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=EUQ62/lExujbtX37sF68cLzhQ7vu+vas86ULqriXP00=; b=d4ApmpFGkYvq5GOraS5K3kz6MzlvbHrbPJsLDKDAPJBhK6PcKA+mF+QmoR6W7sOv9I bZD0SIV6Rtj5QcAHSKlUalFDQ8pdx7ts72FGp09MaFwt/WydTOmK1RdYL54yshh9M26o hNqwgYAFb7X8oPTcRs03KnCSevNzeJJUWV4Q1gcBZ/WVuVTSRh8IfPisU97gqFkwPEOO f0Ixurj7TgY1ZT4HZItGqV1OKtb1Cl+LMoZ2JY2anv9+dIb3SvfU9nNWcAMhuATnReEe 7etJHuwGzf/OS+hP1fgCX/Nj2MIw3i2fSKxY6D0lARp7PeBAB8QHJpHWclDEe8z3M1zf Zwog== X-Gm-Message-State: AA+aEWak0GS21FBIsir/YIEBN5BGTR6qWQTTIJNtE/aFcdRg3TN0z8n8 SKhK4LmQfXp8l/xdJ+GbX4aB832L X-Google-Smtp-Source: AFSGD/Us2Cv2GBDwqjoD5x1Ggk6NpWSDBuaYFAWmsY308Hf+n+ExMRclp4cXGJWUxNEOIT4eyyHc6w== X-Received: by 2002:a5d:4dc8:: with SMTP id f8mr11936679wru.45.1543779374554; Sun, 02 Dec 2018 11:36:14 -0800 (PST) Received: from kurokawa.lan (ip-86-49-110-70.net.upcbroadband.cz. [86.49.110.70]) by smtp.gmail.com with ESMTPSA id y185sm4016628wmg.34.2018.12.02.11.36.13 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 02 Dec 2018 11:36:13 -0800 (PST) From: Marek Vasut X-Google-Original-From: Marek Vasut To: linux-gpio@vger.kernel.org Cc: linux-renesas-soc@vger.kernel.org, Marek Vasut , Linus Walleij , Bartosz Golaszewski Subject: [PATCH 04/14] gpio: pca953x: Unify pca95{3,7}x_write_regs_16() Date: Sun, 2 Dec 2018 20:35:43 +0100 Message-Id: <20181202193553.29704-4-marek.vasut+renesas@gmail.com> X-Mailer: git-send-email 2.18.0 In-Reply-To: <20181202193553.29704-1-marek.vasut+renesas@gmail.com> References: <20181202193553.29704-1-marek.vasut+renesas@gmail.com> Sender: linux-renesas-soc-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-renesas-soc@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP At this point, these two functions only differ in whether they do or do not set the address increment bit on PCA9575. Merge these two functions together to simplify the code a bit. Signed-off-by: Marek Vasut Cc: Linus Walleij Cc: Bartosz Golaszewski --- drivers/gpio/gpio-pca953x.c | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) diff --git a/drivers/gpio/gpio-pca953x.c b/drivers/gpio/gpio-pca953x.c index 479fa376bd18..2e02b3a9ac48 100644 --- a/drivers/gpio/gpio-pca953x.c +++ b/drivers/gpio/gpio-pca953x.c @@ -208,14 +208,11 @@ static int pca953x_write_regs_8(struct pca953x_chip *chip, int reg, u8 *val) static int pca953x_write_regs_16(struct pca953x_chip *chip, int reg, u8 *val) { - u16 word = get_unaligned((u16 *)val); + u32 regaddr = (reg << 1); - return i2c_smbus_write_word_data(chip->client, reg << 1, word); -} - -static int pca957x_write_regs_16(struct pca953x_chip *chip, int reg, u8 *val) -{ - u32 regaddr = (reg << 1) | REG_ADDR_AI; + /* PCA9575 needs address-increment on multi-byte writes */ + if (PCA_CHIP_TYPE(chip->driver_data) == PCA957X_TYPE) + regaddr |= REG_ADDR_AI; return i2c_smbus_write_i2c_block_data(chip->client, regaddr, NBANK(chip), val); @@ -892,10 +889,7 @@ static int pca953x_probe(struct i2c_client *client, chip->write_regs = pca953x_write_regs_24; chip->read_regs = pca953x_read_regs_24; } else { - if (PCA_CHIP_TYPE(chip->driver_data) == PCA953X_TYPE) - chip->write_regs = pca953x_write_regs_16; - else - chip->write_regs = pca957x_write_regs_16; + chip->write_regs = pca953x_write_regs_16; chip->read_regs = pca953x_read_regs_16; }