From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 16CEAC433EF for ; Mon, 23 May 2022 08:58:58 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232318AbiEWI6z (ORCPT ); Mon, 23 May 2022 04:58:55 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52894 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232300AbiEWI6w (ORCPT ); Mon, 23 May 2022 04:58:52 -0400 Received: from bhuna.collabora.co.uk (bhuna.collabora.co.uk [46.235.227.227]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E1B613E0D3; Mon, 23 May 2022 01:58:51 -0700 (PDT) Received: from [127.0.0.1] (localhost [127.0.0.1]) (Authenticated sender: kholk11) with ESMTPSA id 450081F42575 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1653296330; bh=7UgM4ruQTstnqIM046Xou/g3stt98V447+t6kKN3sCU=; h=Date:Subject:To:Cc:References:From:In-Reply-To:From; b=N9rC/Ny9ej6qs7tbI98vVloYt0/LslMcDJWyfytwwtWbuJaejzOu6yd3Gt1b6ALRm QFS6d4Jbz3rk5xnH5/NqW/IyuFCota2t7OOysSaNShon1S5NyjSCD5AqE2Nm9Y++Ek vQBno/8lebbuo7ueDf8lq4Vy9XZ1KC9tBSazzSMqikgpS6mgRArJXFBL+Z3kJbzz79 L+lfQtQVL8gKCzTvNPKR7fhiO4tTAt7zPGPWlgpuYmf2F6f0/z/2sMAm5WMFZps3GF +4tHF2/D5RHtc/3kAQ09K/zT8pb2C/32Au6Gf/4JzYh92mSr1Md4me9tMl8X6FHYb8 7LGpECA+lXTiA== Message-ID: <926ce818-4f42-898d-aca8-185b5c7434ba@collabora.com> Date: Mon, 23 May 2022 10:58:47 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.9.0 Subject: Re: [PATCH 2/5] Input: mtk-pmic-keys - Use regmap_{set,clear}_bits where possible Content-Language: en-US To: Dmitry Torokhov Cc: matthias.bgg@gmail.com, mkorpershoek@baylibre.com, linux-input@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, linux-kernel@vger.kernel.org References: <20220520125132.229191-1-angelogioacchino.delregno@collabora.com> <20220520125132.229191-3-angelogioacchino.delregno@collabora.com> From: AngeloGioacchino Del Regno In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Il 23/05/22 06:51, Dmitry Torokhov ha scritto: > On Fri, May 20, 2022 at 02:51:29PM +0200, AngeloGioacchino Del Regno wrote: >> Instead of always using regmap_update_bits(), let's go for the shorter >> regmap_set_bits() and regmap_clear_bits() where possible. >> >> No functional change. >> >> Signed-off-by: AngeloGioacchino Del Regno >> --- >> drivers/input/keyboard/mtk-pmic-keys.c | 24 ++++++------------------ >> 1 file changed, 6 insertions(+), 18 deletions(-) >> >> diff --git a/drivers/input/keyboard/mtk-pmic-keys.c b/drivers/input/keyboard/mtk-pmic-keys.c >> index 8e4fa7cd16e6..83d0b90cc8cb 100644 >> --- a/drivers/input/keyboard/mtk-pmic-keys.c >> +++ b/drivers/input/keyboard/mtk-pmic-keys.c >> @@ -157,28 +157,16 @@ static void mtk_pmic_keys_lp_reset_setup(struct mtk_pmic_keys *keys, >> >> switch (long_press_mode) { >> case LP_ONEKEY: >> - regmap_update_bits(keys->regmap, pmic_rst_reg, >> - MTK_PMIC_PWRKEY_RST, >> - MTK_PMIC_PWRKEY_RST); >> - regmap_update_bits(keys->regmap, pmic_rst_reg, >> - MTK_PMIC_HOMEKEY_RST, >> - 0); >> + regmap_set_bits(keys->regmap, pmic_rst_reg, MTK_PMIC_PWRKEY_RST); >> + regmap_clear_bits(keys->regmap, pmic_rst_reg, MTK_PMIC_HOMEKEY_RST); > > Why not combine this into a single update instead? I.e. assuming > All downstream kernels (at least, I checked 4 different kernel versions for 4 different SoCs) are doing these updates one-at-a-time, never combining them. Even though I agree with you about one single update being simply more logical, I am afraid that (on some SoCs) the IP will not like that so - since I don't have any *clear* documentation saying that this is possible, or that this is not, I would leave it like that. > #define MTK_PMIC_KEY_RST_MASK GENMASK(6, 5) > > regmap_update_bits(keys->regmap, pmic_rst_reg, > MTK_PMIC_KEY_RST_MASK, > MTK_PMIC_PWRKEY_RST); > >> break; >> case LP_TWOKEY: >> - regmap_update_bits(keys->regmap, pmic_rst_reg, >> - MTK_PMIC_PWRKEY_RST, >> - MTK_PMIC_PWRKEY_RST); >> - regmap_update_bits(keys->regmap, pmic_rst_reg, >> - MTK_PMIC_HOMEKEY_RST, >> - MTK_PMIC_HOMEKEY_RST); >> + regmap_set_bits(keys->regmap, pmic_rst_reg, MTK_PMIC_PWRKEY_RST); >> + regmap_set_bits(keys->regmap, pmic_rst_reg, MTK_PMIC_HOMEKEY_RST); > > regmap_update_bits(keys->regmap, pmic_rst_reg, > MTK_PMIC_KEY_RST_MASK, > MTK_PMIC_PWRKEY_RST | MTK_PMIC_HOMEKEY_RST); > >> break; >> case LP_DISABLE: >> - regmap_update_bits(keys->regmap, pmic_rst_reg, >> - MTK_PMIC_PWRKEY_RST, >> - 0); >> - regmap_update_bits(keys->regmap, pmic_rst_reg, >> - MTK_PMIC_HOMEKEY_RST, >> - 0); >> + regmap_clear_bits(keys->regmap, pmic_rst_reg, MTK_PMIC_PWRKEY_RST); >> + regmap_clear_bits(keys->regmap, pmic_rst_reg, MTK_PMIC_HOMEKEY_RST); > > regmap_update_bits(keys->regmap, pmic_rst_reg, > MTK_PMIC_KEY_RST_MASKi, 0); > >> break; >> default: >> break; >> -- >> 2.35.1 >> > > Thanks. >