hw/timer/i8254_common: Share "iobase" property via base class
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> Acked-by: Michael S. Tsirkin <mst@redhat.com> Reviewed-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Message-Id: <20230523195608.125820-2-shentey@gmail.com> Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
This commit is contained in:
parent
848a6caa88
commit
02520772ae
@ -301,7 +301,6 @@ static void kvm_pit_realizefn(DeviceState *dev, Error **errp)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static Property kvm_pit_properties[] = {
|
static Property kvm_pit_properties[] = {
|
||||||
DEFINE_PROP_UINT32("iobase", PITCommonState, iobase, -1),
|
|
||||||
DEFINE_PROP_LOSTTICKPOLICY("lost_tick_policy", KVMPITState,
|
DEFINE_PROP_LOSTTICKPOLICY("lost_tick_policy", KVMPITState,
|
||||||
lost_tick_policy, LOST_TICK_POLICY_DELAY),
|
lost_tick_policy, LOST_TICK_POLICY_DELAY),
|
||||||
DEFINE_PROP_END_OF_LIST(),
|
DEFINE_PROP_END_OF_LIST(),
|
||||||
|
@ -350,11 +350,6 @@ static void pit_realizefn(DeviceState *dev, Error **errp)
|
|||||||
pc->parent_realize(dev, 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)
|
static void pit_class_initfn(ObjectClass *klass, void *data)
|
||||||
{
|
{
|
||||||
PITClass *pc = PIT_CLASS(klass);
|
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->get_channel_info = pit_get_channel_info_common;
|
||||||
k->post_load = pit_post_load;
|
k->post_load = pit_post_load;
|
||||||
dc->reset = pit_reset;
|
dc->reset = pit_reset;
|
||||||
device_class_set_props(dc, pit_properties);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static const TypeInfo pit_info = {
|
static const TypeInfo pit_info = {
|
||||||
|
@ -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)
|
static void pit_common_class_init(ObjectClass *klass, void *data)
|
||||||
{
|
{
|
||||||
DeviceClass *dc = DEVICE_CLASS(klass);
|
DeviceClass *dc = DEVICE_CLASS(klass);
|
||||||
@ -252,6 +257,7 @@ static void pit_common_class_init(ObjectClass *klass, void *data)
|
|||||||
* done by board code.
|
* done by board code.
|
||||||
*/
|
*/
|
||||||
dc->user_creatable = false;
|
dc->user_creatable = false;
|
||||||
|
device_class_set_props(dc, pit_common_properties);
|
||||||
}
|
}
|
||||||
|
|
||||||
static const TypeInfo pit_common_type = {
|
static const TypeInfo pit_common_type = {
|
||||||
|
Loading…
Reference in New Issue
Block a user