This enables the IRQ to be wired up using qdev_connect_gpio_out() in lasips2_initfn().
Signed-off-by: Mark Cave-Ayland <mark.cave-ayl...@ilande.co.uk> --- hw/input/lasips2.c | 8 ++++---- include/hw/input/lasips2.h | 2 ++ 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/hw/input/lasips2.c b/hw/input/lasips2.c index 6849b71e5c..644cf70955 100644 --- a/hw/input/lasips2.c +++ b/hw/input/lasips2.c @@ -247,16 +247,14 @@ static void lasips2_port_set_irq(void *opaque, int level) LASIPS2State *lasips2_initfn(hwaddr base, qemu_irq irq) { - LASIPS2State *s; DeviceState *dev; dev = qdev_new(TYPE_LASIPS2); qdev_prop_set_uint64(dev, "base", base); sysbus_realize_and_unref(SYS_BUS_DEVICE(dev), &error_fatal); - s = LASIPS2(dev); + qdev_connect_gpio_out(dev, LASIPS2_IRQ, irq); - s->irq = irq; - return s; + return LASIPS2(dev); } static void lasips2_realize(DeviceState *dev, Error **errp) @@ -285,6 +283,8 @@ static void lasips2_init(Object *obj) sysbus_init_mmio(SYS_BUS_DEVICE(obj), &s->kbd.reg); sysbus_init_mmio(SYS_BUS_DEVICE(obj), &s->mouse.reg); + + qdev_init_gpio_out(DEVICE(obj), &s->irq, 1); } static Property lasips2_properties[] = { diff --git a/include/hw/input/lasips2.h b/include/hw/input/lasips2.h index 7e4437b925..d3e9719d65 100644 --- a/include/hw/input/lasips2.h +++ b/include/hw/input/lasips2.h @@ -22,6 +22,8 @@ typedef struct LASIPS2Port { bool irq; } LASIPS2Port; +#define LASIPS2_IRQ 0 + struct LASIPS2State { SysBusDevice parent_obj; -- 2.20.1