[PATCH] watchdog: realtek_otto: Use FIELD_MODIFY()

Hans Zhang posted 1 patch 1 month, 2 weeks ago
drivers/watchdog/realtek_otto_wdt.c | 11 ++++-------
1 file changed, 4 insertions(+), 7 deletions(-)
[PATCH] watchdog: realtek_otto: Use FIELD_MODIFY()
Posted by Hans Zhang 1 month, 2 weeks ago
Use FIELD_MODIFY() to remove open-coded bit manipulation.
No functional change intended.

Signed-off-by: Hans Zhang <18255117159@163.com>
---
 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
-- 
2.34.1
Re: [PATCH] watchdog: realtek_otto: Use FIELD_MODIFY()
Posted by Guenter Roeck 1 month, 2 weeks ago
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@163.com>

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

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
Re: [PATCH] watchdog: realtek_otto: Use FIELD_MODIFY()
Posted by Hans Zhang 1 month, 2 weeks ago

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@163.com>
> 
> 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