diff mbox series

[1/4] hw/timer/i8254_common: Share "iobase" property via base class

Message ID 20230513100906.46672-2-shentey@gmail.com (mailing list archive)
State New, archived
Headers show
Series Trivial cleanups | expand

Commit Message

Bernhard Beschow May 13, 2023, 10:09 a.m. UTC
Both TYPE_KVM_I8254 and TYPE_I8254 have their own but same implementation of
the "iobase" property. The storage for the property already resides in
PITCommonState, so also move the property definition there.

Signed-off-by: Bernhard Beschow <shentey@gmail.com>
---
 hw/i386/kvm/i8254.c     | 1 -
 hw/timer/i8254.c        | 6 ------
 hw/timer/i8254_common.c | 6 ++++++
 3 files changed, 6 insertions(+), 7 deletions(-)

Comments

Mark Cave-Ayland May 14, 2023, 12:26 p.m. UTC | #1
On 13/05/2023 11:09, Bernhard Beschow wrote:

> Both TYPE_KVM_I8254 and TYPE_I8254 have their own but same implementation of
> the "iobase" property. The storage for the property already resides in
> PITCommonState, so also move the property definition there.
> 
> Signed-off-by: Bernhard Beschow <shentey@gmail.com>
> ---
>   hw/i386/kvm/i8254.c     | 1 -
>   hw/timer/i8254.c        | 6 ------
>   hw/timer/i8254_common.c | 6 ++++++
>   3 files changed, 6 insertions(+), 7 deletions(-)
> 
> diff --git a/hw/i386/kvm/i8254.c b/hw/i386/kvm/i8254.c
> index 191a26fa57..6a7383d877 100644
> --- a/hw/i386/kvm/i8254.c
> +++ b/hw/i386/kvm/i8254.c
> @@ -301,7 +301,6 @@ static void kvm_pit_realizefn(DeviceState *dev, Error **errp)
>   }
>   
>   static Property kvm_pit_properties[] = {
> -    DEFINE_PROP_UINT32("iobase", PITCommonState, iobase,  -1),
>       DEFINE_PROP_LOSTTICKPOLICY("lost_tick_policy", KVMPITState,
>                                  lost_tick_policy, LOST_TICK_POLICY_DELAY),
>       DEFINE_PROP_END_OF_LIST(),
> diff --git a/hw/timer/i8254.c b/hw/timer/i8254.c
> index c8388ea432..c235496fc9 100644
> --- a/hw/timer/i8254.c
> +++ b/hw/timer/i8254.c
> @@ -350,11 +350,6 @@ static void pit_realizefn(DeviceState *dev, Error **errp)
>       pc->parent_realize(dev, errp);
>   }
>   
> -static Property pit_properties[] = {
> -    DEFINE_PROP_UINT32("iobase", PITCommonState, iobase,  -1),
> -    DEFINE_PROP_END_OF_LIST(),
> -};
> -
>   static void pit_class_initfn(ObjectClass *klass, void *data)
>   {
>       PITClass *pc = PIT_CLASS(klass);
> @@ -366,7 +361,6 @@ static void pit_class_initfn(ObjectClass *klass, void *data)
>       k->get_channel_info = pit_get_channel_info_common;
>       k->post_load = pit_post_load;
>       dc->reset = pit_reset;
> -    device_class_set_props(dc, pit_properties);
>   }
>   
>   static const TypeInfo pit_info = {
> diff --git a/hw/timer/i8254_common.c b/hw/timer/i8254_common.c
> index 050875b497..e4093e2904 100644
> --- a/hw/timer/i8254_common.c
> +++ b/hw/timer/i8254_common.c
> @@ -240,6 +240,11 @@ static const VMStateDescription vmstate_pit_common = {
>       }
>   };
>   
> +static Property pit_common_properties[] = {
> +    DEFINE_PROP_UINT32("iobase", PITCommonState, iobase,  -1),
> +    DEFINE_PROP_END_OF_LIST(),
> +};
> +
>   static void pit_common_class_init(ObjectClass *klass, void *data)
>   {
>       DeviceClass *dc = DEVICE_CLASS(klass);
> @@ -252,6 +257,7 @@ static void pit_common_class_init(ObjectClass *klass, void *data)
>        * done by board code.
>        */
>       dc->user_creatable = false;
> +    device_class_set_props(dc, pit_common_properties);
>   }
>   
>   static const TypeInfo pit_common_type = {

Reviewed-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>


ATB,

Mark.
Philippe Mathieu-Daudé May 15, 2023, 7:12 a.m. UTC | #2
On 13/5/23 12:09, Bernhard Beschow wrote:
> Both TYPE_KVM_I8254 and TYPE_I8254 have their own but same implementation of
> the "iobase" property. The storage for the property already resides in
> PITCommonState, so also move the property definition there.
> 
> Signed-off-by: Bernhard Beschow <shentey@gmail.com>
> ---
>   hw/i386/kvm/i8254.c     | 1 -
>   hw/timer/i8254.c        | 6 ------
>   hw/timer/i8254_common.c | 6 ++++++
>   3 files changed, 6 insertions(+), 7 deletions(-)

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

Patch

diff --git a/hw/i386/kvm/i8254.c b/hw/i386/kvm/i8254.c
index 191a26fa57..6a7383d877 100644
--- a/hw/i386/kvm/i8254.c
+++ b/hw/i386/kvm/i8254.c
@@ -301,7 +301,6 @@  static void kvm_pit_realizefn(DeviceState *dev, Error **errp)
 }
 
 static Property kvm_pit_properties[] = {
-    DEFINE_PROP_UINT32("iobase", PITCommonState, iobase,  -1),
     DEFINE_PROP_LOSTTICKPOLICY("lost_tick_policy", KVMPITState,
                                lost_tick_policy, LOST_TICK_POLICY_DELAY),
     DEFINE_PROP_END_OF_LIST(),
diff --git a/hw/timer/i8254.c b/hw/timer/i8254.c
index c8388ea432..c235496fc9 100644
--- a/hw/timer/i8254.c
+++ b/hw/timer/i8254.c
@@ -350,11 +350,6 @@  static void pit_realizefn(DeviceState *dev, Error **errp)
     pc->parent_realize(dev, errp);
 }
 
-static Property pit_properties[] = {
-    DEFINE_PROP_UINT32("iobase", PITCommonState, iobase,  -1),
-    DEFINE_PROP_END_OF_LIST(),
-};
-
 static void pit_class_initfn(ObjectClass *klass, void *data)
 {
     PITClass *pc = PIT_CLASS(klass);
@@ -366,7 +361,6 @@  static void pit_class_initfn(ObjectClass *klass, void *data)
     k->get_channel_info = pit_get_channel_info_common;
     k->post_load = pit_post_load;
     dc->reset = pit_reset;
-    device_class_set_props(dc, pit_properties);
 }
 
 static const TypeInfo pit_info = {
diff --git a/hw/timer/i8254_common.c b/hw/timer/i8254_common.c
index 050875b497..e4093e2904 100644
--- a/hw/timer/i8254_common.c
+++ b/hw/timer/i8254_common.c
@@ -240,6 +240,11 @@  static const VMStateDescription vmstate_pit_common = {
     }
 };
 
+static Property pit_common_properties[] = {
+    DEFINE_PROP_UINT32("iobase", PITCommonState, iobase,  -1),
+    DEFINE_PROP_END_OF_LIST(),
+};
+
 static void pit_common_class_init(ObjectClass *klass, void *data)
 {
     DeviceClass *dc = DEVICE_CLASS(klass);
@@ -252,6 +257,7 @@  static void pit_common_class_init(ObjectClass *klass, void *data)
      * done by board code.
      */
     dc->user_creatable = false;
+    device_class_set_props(dc, pit_common_properties);
 }
 
 static const TypeInfo pit_common_type = {