* [PATCH 1/8] reset: a10sr: Use regmap_test_bits in a10sr_reset_status
2026-11-03 14:51 [PATCH 0/8] reset: Use regmap_test_bits to simplify status callbacks Philipp Zabel
@ 2026-11-03 14:51 ` Philipp Zabel
2026-11-03 14:51 ` [PATCH 2/8] reset: reset-intel-gw: Use regmap_reset_bits in intel_reset_status Philipp Zabel
` (6 subsequent siblings)
7 siblings, 0 replies; 10+ messages in thread
From: Philipp Zabel @ 2026-11-03 14:51 UTC (permalink / raw)
To: Damien Le Moal, Conor Dooley, Valentina Fernandez,
Daire McNamara, Fabrizio Castro, Lad Prabhakar, Michal Simek
Cc: linux-kernel, linux-riscv, linux-renesas-soc, linux-arm-kernel,
Philipp Zabel
Simplify a10sr_reset_status() by using regmap_test_bits().
ALTR_A10SR_REG_BIT_MASK() is a single-bit mask, so no functional change.
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
---
drivers/reset/reset-a10sr.c | 8 +-------
1 file changed, 1 insertion(+), 7 deletions(-)
diff --git a/drivers/reset/reset-a10sr.c b/drivers/reset/reset-a10sr.c
index 99b3bc8382f3..3285f68a72fe 100644
--- a/drivers/reset/reset-a10sr.c
+++ b/drivers/reset/reset-a10sr.c
@@ -67,18 +67,12 @@ static int a10sr_reset_deassert(struct reset_controller_dev *rcdev,
static int a10sr_reset_status(struct reset_controller_dev *rcdev,
unsigned long id)
{
- int ret;
struct a10sr_reset *a10r = to_a10sr_rst(rcdev);
int offset = a10sr_reset_shift(id);
u8 mask = ALTR_A10SR_REG_BIT_MASK(offset);
int index = ALTR_A10SR_HPS_RST_REG + ALTR_A10SR_REG_OFFSET(offset);
- unsigned int value;
- ret = regmap_read(a10r->regmap, index, &value);
- if (ret < 0)
- return ret;
-
- return !!(value & mask);
+ return regmap_test_bits(a10r->regmap, index, mask);
}
static const struct reset_control_ops a10sr_reset_ops = {
--
2.47.3
^ permalink raw reply [flat|nested] 10+ messages in thread* [PATCH 2/8] reset: reset-intel-gw: Use regmap_reset_bits in intel_reset_status
2026-11-03 14:51 [PATCH 0/8] reset: Use regmap_test_bits to simplify status callbacks Philipp Zabel
2026-11-03 14:51 ` [PATCH 1/8] reset: a10sr: Use regmap_test_bits in a10sr_reset_status Philipp Zabel
@ 2026-11-03 14:51 ` Philipp Zabel
2026-11-03 14:51 ` [PATCH 3/8] reset: k210: Use regmap_test_bits in k210_rst_status Philipp Zabel
` (5 subsequent siblings)
7 siblings, 0 replies; 10+ messages in thread
From: Philipp Zabel @ 2026-11-03 14:51 UTC (permalink / raw)
To: Damien Le Moal, Conor Dooley, Valentina Fernandez,
Daire McNamara, Fabrizio Castro, Lad Prabhakar, Michal Simek
Cc: linux-kernel, linux-riscv, linux-renesas-soc, linux-arm-kernel,
Philipp Zabel
Simplify intel_reset_status() by using regmap_test_bits().
No functional change.
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
---
drivers/reset/reset-intel-gw.c | 9 ++-------
1 file changed, 2 insertions(+), 7 deletions(-)
diff --git a/drivers/reset/reset-intel-gw.c b/drivers/reset/reset-intel-gw.c
index 0db64cc8a282..4cac2a8b0108 100644
--- a/drivers/reset/reset-intel-gw.c
+++ b/drivers/reset/reset-intel-gw.c
@@ -112,16 +112,11 @@ static int intel_reset_status(struct reset_controller_dev *rcdev,
unsigned long id)
{
struct intel_reset_data *data = to_reset_data(rcdev);
- u32 rst_req, req_bit, rst_stat, stat_bit, val;
- int ret;
+ u32 rst_req, req_bit, rst_stat, stat_bit;
rst_stat = id_to_reg_and_bit_offsets(data, id, &rst_req,
&req_bit, &stat_bit);
- ret = regmap_read(data->regmap, rst_stat, &val);
- if (ret)
- return ret;
-
- return !!(val & BIT(stat_bit));
+ return regmap_test_bits(data->regmap, rst_stat, BIT(stat_bit));
}
static const struct reset_control_ops intel_reset_ops = {
--
2.47.3
^ permalink raw reply [flat|nested] 10+ messages in thread* [PATCH 3/8] reset: k210: Use regmap_test_bits in k210_rst_status
2026-11-03 14:51 [PATCH 0/8] reset: Use regmap_test_bits to simplify status callbacks Philipp Zabel
2026-11-03 14:51 ` [PATCH 1/8] reset: a10sr: Use regmap_test_bits in a10sr_reset_status Philipp Zabel
2026-11-03 14:51 ` [PATCH 2/8] reset: reset-intel-gw: Use regmap_reset_bits in intel_reset_status Philipp Zabel
@ 2026-11-03 14:51 ` Philipp Zabel
2026-11-03 20:01 ` Damien Le Moal
2026-11-03 14:51 ` [PATCH 4/8] reset: lantiq: Use regmap_test_bits in lantiq_rcu_reset_status Philipp Zabel
` (4 subsequent siblings)
7 siblings, 1 reply; 10+ messages in thread
From: Philipp Zabel @ 2026-11-03 14:51 UTC (permalink / raw)
To: Damien Le Moal, Conor Dooley, Valentina Fernandez,
Daire McNamara, Fabrizio Castro, Lad Prabhakar, Michal Simek
Cc: linux-kernel, linux-riscv, linux-renesas-soc, linux-arm-kernel,
Philipp Zabel
Simplify k210_rst_status() by using regmap_test_bits().
Now returns 1 if asserted for all bits.
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
---
drivers/reset/reset-k210.c | 8 +-------
1 file changed, 1 insertion(+), 7 deletions(-)
diff --git a/drivers/reset/reset-k210.c b/drivers/reset/reset-k210.c
index e77e4cca377d..58ad8be18741 100644
--- a/drivers/reset/reset-k210.c
+++ b/drivers/reset/reset-k210.c
@@ -59,14 +59,8 @@ static int k210_rst_status(struct reset_controller_dev *rcdev,
unsigned long id)
{
struct k210_rst *ksr = to_k210_rst(rcdev);
- u32 reg, bit = BIT(id);
- int ret;
- ret = regmap_read(ksr->map, K210_SYSCTL_PERI_RESET, ®);
- if (ret)
- return ret;
-
- return reg & bit;
+ return regmap_test_bits(ksr->map, K210_SYSCTL_PERI_RESET, BIT(id));
}
static int k210_rst_xlate(struct reset_controller_dev *rcdev,
--
2.47.3
^ permalink raw reply [flat|nested] 10+ messages in thread* Re: [PATCH 3/8] reset: k210: Use regmap_test_bits in k210_rst_status
2026-11-03 14:51 ` [PATCH 3/8] reset: k210: Use regmap_test_bits in k210_rst_status Philipp Zabel
@ 2026-11-03 20:01 ` Damien Le Moal
0 siblings, 0 replies; 10+ messages in thread
From: Damien Le Moal @ 2026-11-03 20:01 UTC (permalink / raw)
To: Philipp Zabel, Conor Dooley, Valentina Fernandez, Daire McNamara,
Fabrizio Castro, Lad Prabhakar, Michal Simek
Cc: linux-kernel, linux-riscv, linux-renesas-soc, linux-arm-kernel
On 11/3/26 23:51, Philipp Zabel wrote:
> Simplify k210_rst_status() by using regmap_test_bits().
> Now returns 1 if asserted for all bits.
>
> Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
Reviewed-by: Damien Le Moal <dlemoal@kernel.org>
--
Damien Le Moal
Western Digital Research
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH 4/8] reset: lantiq: Use regmap_test_bits in lantiq_rcu_reset_status
2026-11-03 14:51 [PATCH 0/8] reset: Use regmap_test_bits to simplify status callbacks Philipp Zabel
` (2 preceding siblings ...)
2026-11-03 14:51 ` [PATCH 3/8] reset: k210: Use regmap_test_bits in k210_rst_status Philipp Zabel
@ 2026-11-03 14:51 ` Philipp Zabel
2026-11-03 14:51 ` [PATCH 5/8] reset: mpfs: Use regmap_test_bits in mpfs_status Philipp Zabel
` (3 subsequent siblings)
7 siblings, 0 replies; 10+ messages in thread
From: Philipp Zabel @ 2026-11-03 14:51 UTC (permalink / raw)
To: Damien Le Moal, Conor Dooley, Valentina Fernandez,
Daire McNamara, Fabrizio Castro, Lad Prabhakar, Michal Simek
Cc: linux-kernel, linux-riscv, linux-renesas-soc, linux-arm-kernel,
Philipp Zabel
Simplify lantiq_rcu_reset_status() by using regmap_test_bits().
No functional change.
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
---
drivers/reset/reset-lantiq.c | 8 +-------
1 file changed, 1 insertion(+), 7 deletions(-)
diff --git a/drivers/reset/reset-lantiq.c b/drivers/reset/reset-lantiq.c
index 652a45890cb2..6d7200b17790 100644
--- a/drivers/reset/reset-lantiq.c
+++ b/drivers/reset/reset-lantiq.c
@@ -37,14 +37,8 @@ static int lantiq_rcu_reset_status(struct reset_controller_dev *rcdev,
{
struct lantiq_rcu_reset_priv *priv = to_lantiq_rcu_reset_priv(rcdev);
unsigned int status = (id >> 8) & 0x1f;
- u32 val;
- int ret;
- ret = regmap_read(priv->regmap, priv->status_offset, &val);
- if (ret)
- return ret;
-
- return !!(val & BIT(status));
+ return regmap_test_bits(priv->regmap, priv->status_offset, BIT(status));
}
static int lantiq_rcu_reset_status_timeout(struct reset_controller_dev *rcdev,
--
2.47.3
^ permalink raw reply [flat|nested] 10+ messages in thread* [PATCH 5/8] reset: mpfs: Use regmap_test_bits in mpfs_status
2026-11-03 14:51 [PATCH 0/8] reset: Use regmap_test_bits to simplify status callbacks Philipp Zabel
` (3 preceding siblings ...)
2026-11-03 14:51 ` [PATCH 4/8] reset: lantiq: Use regmap_test_bits in lantiq_rcu_reset_status Philipp Zabel
@ 2026-11-03 14:51 ` Philipp Zabel
2026-11-03 14:51 ` [PATCH 6/8] reset: rzv2h-usb2phy: Use regmap_test_bits in rzv2h_usbphy_reset_status Philipp Zabel
` (2 subsequent siblings)
7 siblings, 0 replies; 10+ messages in thread
From: Philipp Zabel @ 2026-11-03 14:51 UTC (permalink / raw)
To: Damien Le Moal, Conor Dooley, Valentina Fernandez,
Daire McNamara, Fabrizio Castro, Lad Prabhakar, Michal Simek
Cc: linux-kernel, linux-riscv, linux-renesas-soc, linux-arm-kernel,
Philipp Zabel
Simplify mpfs_status() by using regmap_test_bits().
Now returns 1 if asserted for all bits.
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
---
drivers/reset/reset-mpfs.c | 9 +--------
1 file changed, 1 insertion(+), 8 deletions(-)
diff --git a/drivers/reset/reset-mpfs.c b/drivers/reset/reset-mpfs.c
index 8ffcc54ee6f6..ec61b4a1d753 100644
--- a/drivers/reset/reset-mpfs.c
+++ b/drivers/reset/reset-mpfs.c
@@ -63,15 +63,8 @@ static int mpfs_deassert(struct reset_controller_dev *rcdev, unsigned long id)
static int mpfs_status(struct reset_controller_dev *rcdev, unsigned long id)
{
struct mpfs_reset *rst = to_mpfs_reset(rcdev);
- u32 reg;
- regmap_read(rst->regmap, REG_SUBBLK_RESET_CR, ®);
-
- /*
- * It is safe to return here as MPFS_NUM_RESETS makes sure the sign bit
- * is never hit.
- */
- return (reg & BIT(id));
+ return regmap_test_bits(rst->regmap, REG_SUBBLK_RESET_CR, BIT(id));
}
static int mpfs_reset(struct reset_controller_dev *rcdev, unsigned long id)
--
2.47.3
^ permalink raw reply [flat|nested] 10+ messages in thread* [PATCH 6/8] reset: rzv2h-usb2phy: Use regmap_test_bits in rzv2h_usbphy_reset_status
2026-11-03 14:51 [PATCH 0/8] reset: Use regmap_test_bits to simplify status callbacks Philipp Zabel
` (4 preceding siblings ...)
2026-11-03 14:51 ` [PATCH 5/8] reset: mpfs: Use regmap_test_bits in mpfs_status Philipp Zabel
@ 2026-11-03 14:51 ` Philipp Zabel
2026-11-03 14:51 ` [PATCH 7/8] reset: zynq: Use regmap_test_bits in zynq_reset_status Philipp Zabel
2026-11-03 14:51 ` [PATCH 8/8] reset: tn48m: Use regmap_test_bits in tn48m_control_status Philipp Zabel
7 siblings, 0 replies; 10+ messages in thread
From: Philipp Zabel @ 2026-11-03 14:51 UTC (permalink / raw)
To: Damien Le Moal, Conor Dooley, Valentina Fernandez,
Daire McNamara, Fabrizio Castro, Lad Prabhakar, Michal Simek
Cc: linux-kernel, linux-riscv, linux-renesas-soc, linux-arm-kernel,
Philipp Zabel
Simplify rzv2h_usbphy_reset_status() by using regmap_test_bits().
No functional change.
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
---
drivers/reset/reset-rzv2h-usb2phy.c | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/drivers/reset/reset-rzv2h-usb2phy.c b/drivers/reset/reset-rzv2h-usb2phy.c
index d96042e28cd5..e644092cc2f7 100644
--- a/drivers/reset/reset-rzv2h-usb2phy.c
+++ b/drivers/reset/reset-rzv2h-usb2phy.c
@@ -68,11 +68,9 @@ static int rzv2h_usbphy_reset_status(struct reset_controller_dev *rcdev,
unsigned long id)
{
struct rzv2h_usb2phy_reset_priv *priv = rzv2h_usbphy_rcdev_to_priv(rcdev);
- u32 reg;
- regmap_read(priv->regmap, priv->data->reset_reg, ®);
-
- return (reg & priv->data->reset_status_bits) == priv->data->reset_status_bits;
+ return regmap_test_bits(priv->regmap, priv->data->reset_reg,
+ priv->data->reset_status_bits);
}
static const struct reset_control_ops rzv2h_usbphy_reset_ops = {
--
2.47.3
^ permalink raw reply [flat|nested] 10+ messages in thread* [PATCH 7/8] reset: zynq: Use regmap_test_bits in zynq_reset_status
2026-11-03 14:51 [PATCH 0/8] reset: Use regmap_test_bits to simplify status callbacks Philipp Zabel
` (5 preceding siblings ...)
2026-11-03 14:51 ` [PATCH 6/8] reset: rzv2h-usb2phy: Use regmap_test_bits in rzv2h_usbphy_reset_status Philipp Zabel
@ 2026-11-03 14:51 ` Philipp Zabel
2026-11-03 14:51 ` [PATCH 8/8] reset: tn48m: Use regmap_test_bits in tn48m_control_status Philipp Zabel
7 siblings, 0 replies; 10+ messages in thread
From: Philipp Zabel @ 2026-11-03 14:51 UTC (permalink / raw)
To: Damien Le Moal, Conor Dooley, Valentina Fernandez,
Daire McNamara, Fabrizio Castro, Lad Prabhakar, Michal Simek
Cc: linux-kernel, linux-riscv, linux-renesas-soc, linux-arm-kernel,
Philipp Zabel
Simplify zynq_reset_status() by using regmap_test_bits().
No functional change.
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
---
drivers/reset/reset-zynq.c | 8 +-------
1 file changed, 1 insertion(+), 7 deletions(-)
diff --git a/drivers/reset/reset-zynq.c b/drivers/reset/reset-zynq.c
index 688b512882ec..b7a0445aafcf 100644
--- a/drivers/reset/reset-zynq.c
+++ b/drivers/reset/reset-zynq.c
@@ -67,17 +67,11 @@ static int zynq_reset_status(struct reset_controller_dev *rcdev,
int bank = id / BITS_PER_LONG;
int offset = id % BITS_PER_LONG;
- int ret;
- u32 reg;
pr_debug("%s: %s reset bank %u offset %u\n", KBUILD_MODNAME, __func__,
bank, offset);
- ret = regmap_read(priv->slcr, priv->offset + (bank * 4), ®);
- if (ret)
- return ret;
-
- return !!(reg & BIT(offset));
+ return regmap_test_bits(priv->slcr, priv->offset + (bank * 4), BIT(offset));
}
static const struct reset_control_ops zynq_reset_ops = {
--
2.47.3
^ permalink raw reply [flat|nested] 10+ messages in thread* [PATCH 8/8] reset: tn48m: Use regmap_test_bits in tn48m_control_status
2026-11-03 14:51 [PATCH 0/8] reset: Use regmap_test_bits to simplify status callbacks Philipp Zabel
` (6 preceding siblings ...)
2026-11-03 14:51 ` [PATCH 7/8] reset: zynq: Use regmap_test_bits in zynq_reset_status Philipp Zabel
@ 2026-11-03 14:51 ` Philipp Zabel
7 siblings, 0 replies; 10+ messages in thread
From: Philipp Zabel @ 2026-11-03 14:51 UTC (permalink / raw)
To: Damien Le Moal, Conor Dooley, Valentina Fernandez,
Daire McNamara, Fabrizio Castro, Lad Prabhakar, Michal Simek
Cc: linux-kernel, linux-riscv, linux-renesas-soc, linux-arm-kernel,
Philipp Zabel
Simplify tn48m_control_status() by using regmap_test_bits().
No functional change.
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
---
drivers/reset/reset-tn48m.c | 8 ++------
1 file changed, 2 insertions(+), 6 deletions(-)
diff --git a/drivers/reset/reset-tn48m.c b/drivers/reset/reset-tn48m.c
index 177ee5127a1e..4c7d7ef7c7a9 100644
--- a/drivers/reset/reset-tn48m.c
+++ b/drivers/reset/reset-tn48m.c
@@ -66,17 +66,13 @@ static int tn48m_control_status(struct reset_controller_dev *rcdev,
unsigned long id)
{
struct tn48_reset_data *data = to_tn48_reset_data(rcdev);
- unsigned int regval;
int ret;
- ret = regmap_read(data->regmap, TN48M_RESET_REG, ®val);
+ ret = regmap_test_bits(data->regmap, TN48M_RESET_REG, BIT(tn48m_resets[id].bit));
if (ret < 0)
return ret;
- if (BIT(tn48m_resets[id].bit) & regval)
- return 0;
- else
- return 1;
+ return !ret;
}
static const struct reset_control_ops tn48_reset_ops = {
--
2.47.3
^ permalink raw reply [flat|nested] 10+ messages in thread