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 = {
--
2.40.1
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>
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.
© 2016 - 2026 Red Hat, Inc.