hw/rtc/m48t59-isa: QOM'ify IRQ number
Exposing the IRQ number as a QOM property not only allows it to be configurable but also to be printed by standard QOM mechanisms. This allows isabus_dev_print() to be retired eventually. Signed-off-by: Bernhard Beschow <shentey@gmail.com> Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Message-Id: <20220301220037.76555-3-shentey@gmail.com> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Message-Id: <20220307134353.1950-10-philippe.mathieu.daude@gmail.com> Reviewed-by: Bernhard Beschow <shentey@gmail.com>
This commit is contained in:
parent
3b004a1654
commit
e89d9fa385
@ -42,6 +42,7 @@ struct M48txxISAState {
|
||||
ISADevice parent_obj;
|
||||
M48t59State state;
|
||||
uint32_t io_base;
|
||||
uint8_t isairq;
|
||||
MemoryRegion io;
|
||||
};
|
||||
|
||||
@ -79,6 +80,7 @@ static void m48txx_isa_toggle_lock(Nvram *obj, int lock)
|
||||
static Property m48t59_isa_properties[] = {
|
||||
DEFINE_PROP_INT32("base-year", M48txxISAState, state.base_year, 0),
|
||||
DEFINE_PROP_UINT32("iobase", M48txxISAState, io_base, 0x74),
|
||||
DEFINE_PROP_UINT8("irq", M48txxISAState, isairq, 8),
|
||||
DEFINE_PROP_END_OF_LIST(),
|
||||
};
|
||||
|
||||
@ -97,9 +99,14 @@ static void m48t59_isa_realize(DeviceState *dev, Error **errp)
|
||||
M48txxISAState *d = M48TXX_ISA(dev);
|
||||
M48t59State *s = &d->state;
|
||||
|
||||
if (d->isairq >= ISA_NUM_IRQS) {
|
||||
error_setg(errp, "Maximum value for \"irq\" is: %u", ISA_NUM_IRQS - 1);
|
||||
return;
|
||||
}
|
||||
|
||||
s->model = u->info.model;
|
||||
s->size = u->info.size;
|
||||
isa_init_irq(isadev, &s->IRQ, 8);
|
||||
isa_init_irq(isadev, &s->IRQ, d->isairq);
|
||||
m48t59_realize_common(s, errp);
|
||||
memory_region_init_io(&d->io, OBJECT(dev), &m48t59_io_ops, s, "m48t59", 4);
|
||||
if (d->io_base != 0) {
|
||||
|
Loading…
Reference in New Issue
Block a user