[PATCH] hw/misc/nrf51_rng: Don't use BIT_MASK() when we mean BIT()

Peter Maydell posted 1 patch 2 weeks, 1 day ago
hw/misc/nrf51_rng.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
[PATCH] hw/misc/nrf51_rng: Don't use BIT_MASK() when we mean BIT()
Posted by Peter Maydell 2 weeks, 1 day ago
The BIT_MASK() macro from bitops.h provides the mask of a bit
within a particular word of a multi-word bit array; it is intended
to be used with its counterpart BIT_WORD() that gives the index
of the word in the array.

In nrf51_rng we are using it for cases where we have a bit number
that we know is the index of a bit within a single word (in fact, it
happens that all the bit numbers we pass to it are zero). This
happens to give the right answer, but the macro that actually
does the job we want here is BIT().

Use BIT() instead of BIT_MASK().

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
---
 hw/misc/nrf51_rng.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/hw/misc/nrf51_rng.c b/hw/misc/nrf51_rng.c
index bf1eb0cf4a1..2d67f3f766e 100644
--- a/hw/misc/nrf51_rng.c
+++ b/hw/misc/nrf51_rng.c
@@ -107,25 +107,25 @@ static void rng_write(void *opaque, hwaddr offset,
         break;
     case NRF51_RNG_REG_SHORTS:
         s->shortcut_stop_on_valrdy =
-                (value & BIT_MASK(NRF51_RNG_REG_SHORTS_VALRDY_STOP)) ? 1 : 0;
+                (value & BIT(NRF51_RNG_REG_SHORTS_VALRDY_STOP)) ? 1 : 0;
         break;
     case NRF51_RNG_REG_INTEN:
         s->interrupt_enabled =
-                (value & BIT_MASK(NRF51_RNG_REG_INTEN_VALRDY)) ? 1 : 0;
+                (value & BIT(NRF51_RNG_REG_INTEN_VALRDY)) ? 1 : 0;
         break;
     case NRF51_RNG_REG_INTENSET:
-        if (value & BIT_MASK(NRF51_RNG_REG_INTEN_VALRDY)) {
+        if (value & BIT(NRF51_RNG_REG_INTEN_VALRDY)) {
             s->interrupt_enabled = 1;
         }
         break;
     case NRF51_RNG_REG_INTENCLR:
-        if (value & BIT_MASK(NRF51_RNG_REG_INTEN_VALRDY)) {
+        if (value & BIT(NRF51_RNG_REG_INTEN_VALRDY)) {
             s->interrupt_enabled = 0;
         }
         break;
     case NRF51_RNG_REG_CONFIG:
         s->filter_enabled =
-                      (value & BIT_MASK(NRF51_RNG_REG_CONFIG_DECEN)) ? 1 : 0;
+                      (value & BIT(NRF51_RNG_REG_CONFIG_DECEN)) ? 1 : 0;
         break;
 
     default:
-- 
2.34.1
Re: [PATCH] hw/misc/nrf51_rng: Don't use BIT_MASK() when we mean BIT()
Posted by Philippe Mathieu-Daudé 5 days, 4 hours ago
On 8/11/24 13:56, Peter Maydell wrote:
> The BIT_MASK() macro from bitops.h provides the mask of a bit
> within a particular word of a multi-word bit array; it is intended
> to be used with its counterpart BIT_WORD() that gives the index
> of the word in the array.
> 
> In nrf51_rng we are using it for cases where we have a bit number
> that we know is the index of a bit within a single word (in fact, it
> happens that all the bit numbers we pass to it are zero). This
> happens to give the right answer, but the macro that actually
> does the job we want here is BIT().
> 
> Use BIT() instead of BIT_MASK().
> 
> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
> ---
>   hw/misc/nrf51_rng.c | 10 +++++-----
>   1 file changed, 5 insertions(+), 5 deletions(-)

Patch queued to hw-misc, thanks.
Re: [PATCH] hw/misc/nrf51_rng: Don't use BIT_MASK() when we mean BIT()
Posted by Philippe Mathieu-Daudé 2 weeks, 1 day ago
On 8/11/24 13:56, Peter Maydell wrote:
> The BIT_MASK() macro from bitops.h provides the mask of a bit
> within a particular word of a multi-word bit array; it is intended
> to be used with its counterpart BIT_WORD() that gives the index
> of the word in the array.
> 
> In nrf51_rng we are using it for cases where we have a bit number
> that we know is the index of a bit within a single word (in fact, it
> happens that all the bit numbers we pass to it are zero). This
> happens to give the right answer, but the macro that actually
> does the job we want here is BIT().
> 
> Use BIT() instead of BIT_MASK().
> 
> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
> ---
>   hw/misc/nrf51_rng.c | 10 +++++-----
>   1 file changed, 5 insertions(+), 5 deletions(-)

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>