lasips2: rename lasips2_init() to lasips2_initfn() and update it to return the LASIPS2 device

When QOMifying a device it is typical to use _init() as the suffix for an
instance_init function, however this name is already in use by the legacy LASIPS2
wrapper function. Eventually the wrapper function will be removed, but for now
rename it to lasips2_initfn() to avoid a naming collision.

At the same time update lasips2_initfn() return the LASIPS2 device so that it
can later be accessed using qdev APIs by the HPPA machine.

Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Acked-by: Helge Deller <deller@gmx.de>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Message-Id: <20220624134109.881989-41-mark.cave-ayland@ilande.co.uk>
master
Mark Cave-Ayland 2022-06-24 14:40:55 +01:00
parent 07c68b5010
commit 5cbf35d20f
3 changed files with 8 additions and 5 deletions

View File

@ -280,8 +280,8 @@ static void machine_hppa_init(MachineState *machine)
}
/* PS/2 Keyboard/Mouse */
lasips2_init(addr_space, LASI_PS2KBD_HPA,
qdev_get_gpio_in(lasi_dev, LASI_IRQ_PS2KBD_HPA));
lasips2_initfn(addr_space, LASI_PS2KBD_HPA,
qdev_get_gpio_in(lasi_dev, LASI_IRQ_PS2KBD_HPA));
/* register power switch emulation */
qemu_register_powerdown_notifier(&hppa_system_powerdown_notifier);

View File

@ -245,8 +245,8 @@ static void lasips2_port_set_irq(void *opaque, int level)
lasips2_update_irq(port->parent);
}
void lasips2_init(MemoryRegion *address_space,
hwaddr base, qemu_irq irq)
LASIPS2State *lasips2_initfn(MemoryRegion *address_space,
hwaddr base, qemu_irq irq)
{
LASIPS2State *s;
DeviceState *dev;
@ -272,6 +272,8 @@ void lasips2_init(MemoryRegion *address_space,
memory_region_init_io(&s->mouse.reg, NULL, &lasips2_reg_ops, &s->mouse,
"lasips2-mouse", 0x100);
memory_region_add_subregion(address_space, base + 0x100, &s->mouse.reg);
return s;
}
static const TypeInfo lasips2_info = {

View File

@ -33,6 +33,7 @@ struct LASIPS2State {
#define TYPE_LASIPS2 "lasips2"
OBJECT_DECLARE_SIMPLE_TYPE(LASIPS2State, LASIPS2)
void lasips2_init(MemoryRegion *address_space, hwaddr base, qemu_irq irq);
LASIPS2State *lasips2_initfn(MemoryRegion *address_space, hwaddr base,
qemu_irq irq);
#endif /* HW_INPUT_LASIPS2_H */