Re: [PATCH] watchdog: realtek_otto: Use FIELD_MODIFY()

From: Hans Zhang

Date: Thu Apr 30 2026 - 12:02:28 EST




On 4/30/26 23:53, Guenter Roeck wrote:
On 4/30/26 08:42, Hans Zhang wrote:
Use FIELD_MODIFY() to remove open-coded bit manipulation.
No functional change intended.

Signed-off-by: Hans Zhang <18255117159@xxxxxxx>

Please refrain from making non-functional changes such as this one.


OK, maybe everyone has different preferences. Please ignore it.

Hans

Guenter

---
  drivers/watchdog/realtek_otto_wdt.c | 11 ++++-------
  1 file changed, 4 insertions(+), 7 deletions(-)

diff --git a/drivers/watchdog/realtek_otto_wdt.c b/drivers/watchdog/ realtek_otto_wdt.c
index 2c30ddd574c5..cf4841583721 100644
--- a/drivers/watchdog/realtek_otto_wdt.c
+++ b/drivers/watchdog/realtek_otto_wdt.c
@@ -149,11 +149,9 @@ static int otto_wdt_determine_timeouts(struct watchdog_device *wdev, unsigned in
          || phase2_ticks > OTTO_WDT_PHASE_TICKS_MAX);
      v = ioread32(ctrl->base + OTTO_WDT_REG_CTRL);
-
-    v &= ~(OTTO_WDT_CTRL_PRESCALE | OTTO_WDT_CTRL_PHASE1 | OTTO_WDT_CTRL_PHASE2);
-    v |= FIELD_PREP(OTTO_WDT_CTRL_PHASE1, phase1_ticks - 1);
-    v |= FIELD_PREP(OTTO_WDT_CTRL_PHASE2, phase2_ticks - 1);
-    v |= FIELD_PREP(OTTO_WDT_CTRL_PRESCALE, prescale);
+    FIELD_MODIFY(OTTO_WDT_CTRL_PHASE1, &v, phase1_ticks - 1);
+    FIELD_MODIFY(OTTO_WDT_CTRL_PHASE2, &v, phase2_ticks - 1);
+    FIELD_MODIFY(OTTO_WDT_CTRL_PRESCALE, &v, prescale);
      iowrite32(v, ctrl->base + OTTO_WDT_REG_CTRL);
@@ -279,8 +277,7 @@ static int otto_wdt_probe_reset_mode(struct otto_wdt_ctrl *ctrl)
          return -EINVAL;
      v = ioread32(ctrl->base + OTTO_WDT_REG_CTRL);
-    v &= ~OTTO_WDT_CTRL_RST_MODE;
-    v |= FIELD_PREP(OTTO_WDT_CTRL_RST_MODE, mode);
+    FIELD_MODIFY(OTTO_WDT_CTRL_RST_MODE, &v, mode);
      iowrite32(v, ctrl->base + OTTO_WDT_REG_CTRL);
      return 0;

base-commit: 3b3bea6d4b9c162f9e555905d96b8c1da67ecd5b