Am 7. März 2022 13:43:49 UTC schrieb "Philippe Mathieu-Daudé" <[email protected]>: >From: Bernhard Beschow <[email protected]> > >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 <[email protected]> >Reviewed-by: Philippe Mathieu-Daudé <[email protected]> >Message-Id: <[email protected]> >Signed-off-by: Philippe Mathieu-Daudé <[email protected]> >--- > hw/rtc/m48t59-isa.c | 9 ++++++++- > 1 file changed, 8 insertions(+), 1 deletion(-) > >diff --git a/hw/rtc/m48t59-isa.c b/hw/rtc/m48t59-isa.c >index dc21fb10a5..e9086eada4 100644 >--- a/hw/rtc/m48t59-isa.c >+++ b/hw/rtc/m48t59-isa.c >@@ -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) {
Reviewed-by: Bernhard Beschow <[email protected]>
