On 3/9/24 18:07, Peter Maydell wrote:
The pxa27x-timer can be removed now we have removed the PXA2xx
SoC models. The pxa25x-timer device must remain as it is still
used by strongarm.

Signed-off-by: Peter Maydell <peter.mayd...@linaro.org>
---
  hw/timer/pxa2xx_timer.c | 24 ------------------------
  1 file changed, 24 deletions(-)

diff --git a/hw/timer/pxa2xx_timer.c b/hw/timer/pxa2xx_timer.c
index d1a3ecac2b5..3234bbb1f4a 100644
--- a/hw/timer/pxa2xx_timer.c
+++ b/hw/timer/pxa2xx_timer.c
@@ -54,7 +54,6 @@
  #define OSNR  0x20
#define PXA25X_FREQ 3686400 /* 3.6864 MHz */
-#define PXA27X_FREQ    3250000 /* 3.25 MHz */
static int pxa2xx_timer4_freq[8] = {
      [0] = 0,
@@ -572,28 +571,6 @@ static const TypeInfo pxa25x_timer_dev_info = {
      .class_init    = pxa25x_timer_dev_class_init,
  };
-static Property pxa27x_timer_dev_properties[] = {
-    DEFINE_PROP_UINT32("freq", PXA2xxTimerInfo, freq, PXA27X_FREQ),
-    DEFINE_PROP_BIT("tm4", PXA2xxTimerInfo, flags,
-                    PXA2XX_TIMER_HAVE_TM4, true),
-    DEFINE_PROP_END_OF_LIST(),
-};
-
-static void pxa27x_timer_dev_class_init(ObjectClass *klass, void *data)
-{
-    DeviceClass *dc = DEVICE_CLASS(klass);
-
-    dc->desc = "PXA27x timer";
-    device_class_set_props(dc, pxa27x_timer_dev_properties);
-}
-
-static const TypeInfo pxa27x_timer_dev_info = {
-    .name          = "pxa27x-timer",
-    .parent        = TYPE_PXA2XX_TIMER,
-    .instance_size = sizeof(PXA2xxTimerInfo),
-    .class_init    = pxa27x_timer_dev_class_init,
-};
-
  static void pxa2xx_timer_class_init(ObjectClass *oc, void *data)
  {
      DeviceClass *dc = DEVICE_CLASS(oc);
@@ -615,7 +592,6 @@ static void pxa2xx_timer_register_types(void)
  {
      type_register_static(&pxa2xx_timer_type_info);
      type_register_static(&pxa25x_timer_dev_info);
-    type_register_static(&pxa27x_timer_dev_info);
  }
type_init(pxa2xx_timer_register_types)

We could also remove the abstract parent:

-- >8 --
diff --git a/hw/timer/pxa2xx_timer.c b/hw/timer/pxa2xx_timer.c
index 3234bbb1f4..b379b621cc 100644
--- a/hw/timer/pxa2xx_timer.c
+++ b/hw/timer/pxa2xx_timer.c
@@ -65,7 +65,7 @@ static int pxa2xx_timer4_freq[8] = {
     [5 ... 7] = 0,
 };

-#define TYPE_PXA2XX_TIMER "pxa2xx-timer"
+#define TYPE_PXA2XX_TIMER "pxa25x-timer"
 OBJECT_DECLARE_SIMPLE_TYPE(PXA2xxTimerInfo, PXA2XX_TIMER)


@@ -561,36 +561,21 @@ static void pxa25x_timer_dev_class_init(ObjectClass *klass, void *data)
     DeviceClass *dc = DEVICE_CLASS(klass);

     dc->desc = "PXA25x timer";
+    dc->realize  = pxa2xx_timer_realize;
+    dc->vmsd = &vmstate_pxa2xx_timer_regs;
     device_class_set_props(dc, pxa25x_timer_dev_properties);
 }

 static const TypeInfo pxa25x_timer_dev_info = {
     .name          = "pxa25x-timer",
-    .parent        = TYPE_PXA2XX_TIMER,
-    .instance_size = sizeof(PXA2xxTimerInfo),
-    .class_init    = pxa25x_timer_dev_class_init,
-};
-
-static void pxa2xx_timer_class_init(ObjectClass *oc, void *data)
-{
-    DeviceClass *dc = DEVICE_CLASS(oc);
-
-    dc->realize  = pxa2xx_timer_realize;
-    dc->vmsd = &vmstate_pxa2xx_timer_regs;
-}
-
-static const TypeInfo pxa2xx_timer_type_info = {
-    .name          = TYPE_PXA2XX_TIMER,
     .parent        = TYPE_SYS_BUS_DEVICE,
     .instance_size = sizeof(PXA2xxTimerInfo),
     .instance_init = pxa2xx_timer_init,
-    .abstract      = true,
-    .class_init    = pxa2xx_timer_class_init,
+    .class_init    = pxa25x_timer_dev_class_init,
 };

 static void pxa2xx_timer_register_types(void)
 {
-    type_register_static(&pxa2xx_timer_type_info);
     type_register_static(&pxa25x_timer_dev_info);
 }

---

I can post a follow-up patch but not sure it is worth it.

Regardless,

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

Reply via email to