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 bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 2B314C36002 for ; Wed, 9 Apr 2025 21:36:43 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Cc:To:In-Reply-To:References :Message-Id:Content-Transfer-Encoding:Content-Type:MIME-Version:Subject:Date: From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=96SpQhawR8x63CHV+WMoNeJ+9FHffMMf4Oxsm8b8rjw=; b=g+BN11sXIDJ1xoMdzcczf1zQ8s LcPHfrBHYbTJW5L7ub/9HanMBEmQJN/9yY4AW1xdGjC6uBRvm7jcT5Wu3c/VRSfrOf+ZjonZ0ej6h iM3RBB9wbKZ1kE0go1jeWaUiQqUSJwaksd62HREhX701BkLsBVCr12RWgZyx75FyeMotDQEJ2/2/R 4wRG0vnnLlmL8zP4Qp3Qh+gUQwPpEGi+plbhfG7wK4d82qjOgasD//2FDCeHdGrI1X5zKyxTqOQZe FKcbzKK+yXh5zJlY7wb0zTp6fnu7Es+J3eG3y73vebBT4+iyLLcrF8KNmOGj2gSFvC39mDZr+vO4j 9D7vZPHg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux)) id 1u2d61-00000008bVu-1RDk; Wed, 09 Apr 2025 21:36:33 +0000 Received: from mail-ed1-x52a.google.com ([2a00:1450:4864:20::52a]) by bombadil.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux)) id 1u2cB8-00000008SjV-3iD0 for linux-arm-kernel@lists.infradead.org; Wed, 09 Apr 2025 20:37:48 +0000 Received: by mail-ed1-x52a.google.com with SMTP id 4fb4d7f45d1cf-5ec9d24acfbso2151335a12.0 for ; Wed, 09 Apr 2025 13:37:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1744231065; x=1744835865; darn=lists.infradead.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=96SpQhawR8x63CHV+WMoNeJ+9FHffMMf4Oxsm8b8rjw=; b=JatkkR8/y5YiUWOzzgG3qPugyR/ZINDfCJOTiAkX3ARZr4p9kvImnvy0QqkeXKZ40Q OmRxAujTtZc6w0fWoeWC86M+CEKYUm0WCGmd7u7X/9kZdN6TuORxivoIdPdxHuIO88fa 79B7aezq1j+zz4YxU9SyjyoTWJ/Zx/uoFmOu0i2+m7q9rXoLWgG/PA6WZQC0+6ejufpv 10CPYYpQdmWGwTi5b+Fb3gXOvyEopSHp1CmBuz/I9TTGqPsxLqyQI42/SwJoHrJ7JQg4 gmi9txGukiJTw/ETRJjjK8w7f29isLHwpI9YW1UbgsfQVbrj0eQhs7h44iNz8AdTeix8 rjSw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744231065; x=1744835865; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=96SpQhawR8x63CHV+WMoNeJ+9FHffMMf4Oxsm8b8rjw=; b=YYTDcafzKaeUHIdkWIJDYQiwp8a780CetrWxi+Uup8Bx2cq1IVU13fyklAuTwoNRgp XULu03LxZHzt5ohKTrAWdmK7NXsmN8JKBGVL6twhvRkGVQgC6NUKlLxEaDu/2AetONzs ZFNLSzzqfrw1hilMQ4r/NrFo7zOnWusu5MGdjG5dXzIWj0QMFSeGJiLZlGvWTTCXq8QZ E43tU3qVrftg6y6xlt9s+UO4O2bg7JKkJFO7/sFYheSF3gcbI5222DUDBB1niUGC5H7S dxWAjCYrnBlYWI1qgCRdaVBbm3exYdIvQtyRlhxY2O7imyOr5f0N9SFDfFosqB6vDANQ A/jQ== X-Forwarded-Encrypted: i=1; AJvYcCX5kQSIrODu88+oqXiO0KLF55jMiUQ9SrVTW3OkBX5TBMri5mjFEwUhq/kW+nSorrjBo9B1iwmyvMrQlgpNg+Gn@lists.infradead.org X-Gm-Message-State: AOJu0YyHNtOyupfObuLtBo0bZ0t2GjQ4Ez7GX2Uqnrr4Kk0lhmWbGw8K m79D8M7hXhJBi/hkPumJDgImOlqVf/G3/pvL7N3pFQiHAVSJvCHLeqc9lZtpbPo= X-Gm-Gg: ASbGncuxxTn0Fye4fCGjZNAZWzq0r1BuQdNRVc9WFaMA3DsmlKz+I9ymgVNeVGmnF75 yW4eGuA0PYGcnARo+mTHDc7vr8KCR3DpiSHbOIY6vJSKesmkpiiKbdG2k6psrtTIf04/tgRRije M0XiW2w6EyLfyJzOt2lADpqst0ezg67d836toE7AFApG+ZcOTNkCOTJJyXUNUJ3C/mWFWp1aDQ6 theVWgsk+PJl250ifmo6J5zXZuIbpFjPQjB1ipxNxhavqeoUAWfnFkApnKu9Y1LgKrEif8blKfb MAxfiTmDGAtCNaWWN83KTZL57wNnZF5l0g/HSi+gdsDdRI7uq6bXqPfv2ELvQonFPQ8uRx8kyU1 ASYyiHAOoDHv7QDMVu9llp1tQI9g= X-Google-Smtp-Source: AGHT+IEzQMsFiFL/jdSvqMTouRITC/7JunlX1FkfQVGWlY9H5peZ1h9WvmD7A/zfy8HqRCQ5/PLUeg== X-Received: by 2002:a17:907:7e86:b0:ac7:7d3e:7336 with SMTP id a640c23a62f3a-acabd3a3d95mr6823066b.22.1744231065588; Wed, 09 Apr 2025 13:37:45 -0700 (PDT) Received: from puffmais.c.googlers.com (40.162.204.35.bc.googleusercontent.com. [35.204.162.40]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-acaa1ccc001sm145850366b.126.2025.04.09.13.37.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 09 Apr 2025 13:37:45 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Wed, 09 Apr 2025 21:37:52 +0100 Subject: [PATCH v4 31/32] rtc: s5m: replace open-coded read/modify/write registers with regmap helpers MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit Message-Id: <20250409-s2mpg10-v4-31-d66d5f39b6bf@linaro.org> References: <20250409-s2mpg10-v4-0-d66d5f39b6bf@linaro.org> In-Reply-To: <20250409-s2mpg10-v4-0-d66d5f39b6bf@linaro.org> To: Krzysztof Kozlowski , Lee Jones , Rob Herring , Conor Dooley , Sylwester Nawrocki , Chanwoo Choi , Alim Akhtar , Michael Turquette , Stephen Boyd , Russell King , Catalin Marinas , Will Deacon , Alexandre Belloni Cc: Peter Griffin , Tudor Ambarus , Will McVicker , kernel-team@android.com, linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rtc@vger.kernel.org, =?utf-8?q?Andr=C3=A9_Draszik?= X-Mailer: b4 0.14.2 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250409_133746_929280_5A3E4C1E X-CRM114-Status: GOOD ( 13.10 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Instead of the open-coded read/modify/write sequence, we can simply use the regmap helpers regmap_set_bits() and regmap_update_bits() respectively. This makes the code easier to read, and avoids extra work in case the underlying bus supports updating bits via struct regmap_bus::reg_update_bits() directly (which is the case for S2MPG10 on gs101 where this driver communicates via ACPM). Signed-off-by: André Draszik --- drivers/rtc/rtc-s5m.c | 28 +++++++--------------------- 1 file changed, 7 insertions(+), 21 deletions(-) diff --git a/drivers/rtc/rtc-s5m.c b/drivers/rtc/rtc-s5m.c index 27115523b8c25794a9f3ac8e734bb1ed998e9518..a7220b4d0e8dd35786b060e2a4106e2a39fe743f 100644 --- a/drivers/rtc/rtc-s5m.c +++ b/drivers/rtc/rtc-s5m.c @@ -279,17 +279,9 @@ static int s5m_check_pending_alarm_interrupt(struct s5m_rtc_info *info, static int s5m8767_rtc_set_time_reg(struct s5m_rtc_info *info) { int ret; - unsigned int data; - - ret = regmap_read(info->regmap, info->regs->udr_update, &data); - if (ret < 0) { - dev_err(info->dev, "failed to read update reg(%d)\n", ret); - return ret; - } - - data |= info->regs->write_time_udr_mask; - ret = regmap_write(info->regmap, info->regs->udr_update, data); + ret = regmap_set_bits(info->regmap, info->regs->udr_update, + info->regs->write_time_udr_mask); if (ret < 0) { dev_err(info->dev, "failed to write update reg(%d)\n", ret); return ret; @@ -303,19 +295,12 @@ static int s5m8767_rtc_set_time_reg(struct s5m_rtc_info *info) static int s5m8767_rtc_set_alarm_reg(struct s5m_rtc_info *info) { int ret; - unsigned int data; - - ret = regmap_read(info->regmap, info->regs->udr_update, &data); - if (ret < 0) { - dev_err(info->dev, "%s: fail to read update reg(%d)\n", - __func__, ret); - return ret; - } + unsigned int udr_mask; - data |= info->regs->write_alarm_udr_mask; + udr_mask = info->regs->write_alarm_udr_mask; switch (info->device_type) { case S5M8767X: - data &= ~S5M_RTC_TIME_EN_MASK; + udr_mask |= S5M_RTC_TIME_EN_MASK; break; case S2MPG10: case S2MPS15X: @@ -327,7 +312,8 @@ static int s5m8767_rtc_set_alarm_reg(struct s5m_rtc_info *info) return -EINVAL; } - ret = regmap_write(info->regmap, info->regs->udr_update, data); + ret = regmap_update_bits(info->regmap, info->regs->udr_update, + udr_mask, info->regs->write_alarm_udr_mask); if (ret < 0) { dev_err(info->dev, "%s: fail to write update reg(%d)\n", __func__, ret); -- 2.49.0.604.gff1f9ca942-goog