diff mbox series

[v2,2/5] hw/timer/bcm2835: Introduce BCM2835_SYSTIMER_COUNT definition

Message ID 20200921035257.434532-3-f4bug@amsat.org
State New
Headers show
Series hw/arm/raspi: Fix SYS_timer to unbrick Linux kernels v3.7+ | expand

Commit Message

Philippe Mathieu-Daudé Sept. 21, 2020, 3:52 a.m. UTC
Use the BCM2835_SYSTIMER_COUNT definition instead of the
magic '4' value.

Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
---
 include/hw/timer/bcm2835_systmr.h | 4 +++-
 hw/timer/bcm2835_systmr.c         | 3 ++-
 2 files changed, 5 insertions(+), 2 deletions(-)

Comments

Luc Michel Sept. 21, 2020, 7:43 p.m. UTC | #1
On 9/21/20 5:52 AM, Philippe Mathieu-Daudé wrote:
> Use the BCM2835_SYSTIMER_COUNT definition instead of the

> magic '4' value.

> 

> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>


Reviewed-by: Luc Michel <luc.michel@greensocs.com>


> ---

>   include/hw/timer/bcm2835_systmr.h | 4 +++-

>   hw/timer/bcm2835_systmr.c         | 3 ++-

>   2 files changed, 5 insertions(+), 2 deletions(-)

> 

> diff --git a/include/hw/timer/bcm2835_systmr.h b/include/hw/timer/bcm2835_systmr.h

> index 64166bd7120..11272837a6b 100644

> --- a/include/hw/timer/bcm2835_systmr.h

> +++ b/include/hw/timer/bcm2835_systmr.h

> @@ -18,6 +18,8 @@ typedef struct BCM2835SystemTimerState BCM2835SystemTimerState;

>   DECLARE_INSTANCE_CHECKER(BCM2835SystemTimerState, BCM2835_SYSTIMER,

>                            TYPE_BCM2835_SYSTIMER)

>   

> +#define BCM2835_SYSTIMER_COUNT 4

> +

>   struct BCM2835SystemTimerState {

>       /*< private >*/

>       SysBusDevice parent_obj;

> @@ -28,7 +30,7 @@ struct BCM2835SystemTimerState {

>   

>       struct {

>           uint32_t status;

> -        uint32_t compare[4];

> +        uint32_t compare[BCM2835_SYSTIMER_COUNT];

>       } reg;

>   };

>   

> diff --git a/hw/timer/bcm2835_systmr.c b/hw/timer/bcm2835_systmr.c

> index 3387a6214a2..ff8c5536610 100644

> --- a/hw/timer/bcm2835_systmr.c

> +++ b/hw/timer/bcm2835_systmr.c

> @@ -134,7 +134,8 @@ static const VMStateDescription bcm2835_systmr_vmstate = {

>       .minimum_version_id = 1,

>       .fields = (VMStateField[]) {

>           VMSTATE_UINT32(reg.status, BCM2835SystemTimerState),

> -        VMSTATE_UINT32_ARRAY(reg.compare, BCM2835SystemTimerState, 4),

> +        VMSTATE_UINT32_ARRAY(reg.compare, BCM2835SystemTimerState,

> +                             BCM2835_SYSTIMER_COUNT),

>           VMSTATE_END_OF_LIST()

>       }

>   };

>
diff mbox series

Patch

diff --git a/include/hw/timer/bcm2835_systmr.h b/include/hw/timer/bcm2835_systmr.h
index 64166bd7120..11272837a6b 100644
--- a/include/hw/timer/bcm2835_systmr.h
+++ b/include/hw/timer/bcm2835_systmr.h
@@ -18,6 +18,8 @@  typedef struct BCM2835SystemTimerState BCM2835SystemTimerState;
 DECLARE_INSTANCE_CHECKER(BCM2835SystemTimerState, BCM2835_SYSTIMER,
                          TYPE_BCM2835_SYSTIMER)
 
+#define BCM2835_SYSTIMER_COUNT 4
+
 struct BCM2835SystemTimerState {
     /*< private >*/
     SysBusDevice parent_obj;
@@ -28,7 +30,7 @@  struct BCM2835SystemTimerState {
 
     struct {
         uint32_t status;
-        uint32_t compare[4];
+        uint32_t compare[BCM2835_SYSTIMER_COUNT];
     } reg;
 };
 
diff --git a/hw/timer/bcm2835_systmr.c b/hw/timer/bcm2835_systmr.c
index 3387a6214a2..ff8c5536610 100644
--- a/hw/timer/bcm2835_systmr.c
+++ b/hw/timer/bcm2835_systmr.c
@@ -134,7 +134,8 @@  static const VMStateDescription bcm2835_systmr_vmstate = {
     .minimum_version_id = 1,
     .fields = (VMStateField[]) {
         VMSTATE_UINT32(reg.status, BCM2835SystemTimerState),
-        VMSTATE_UINT32_ARRAY(reg.compare, BCM2835SystemTimerState, 4),
+        VMSTATE_UINT32_ARRAY(reg.compare, BCM2835SystemTimerState,
+                             BCM2835_SYSTIMER_COUNT),
         VMSTATE_END_OF_LIST()
     }
 };