pl050: move logic from pl050_realize() to pl050_init()
The logic for initialising the register memory region and the sysbus output IRQ does not depend upon any device properties and so can be moved from pl050_realize() to pl050_init(). Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> Tested-by: Helge Deller <deller@gmx.de> Acked-by: Helge Deller <deller@gmx.de> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Message-Id: <20220712215251.7944-7-mark.cave-ayland@ilande.co.uk> Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
This commit is contained in:
parent
0a3c1e1bf8
commit
3d5e0995ce
@ -152,11 +152,7 @@ static const MemoryRegionOps pl050_ops = {
|
||||
static void pl050_realize(DeviceState *dev, Error **errp)
|
||||
{
|
||||
PL050State *s = PL050(dev);
|
||||
SysBusDevice *sbd = SYS_BUS_DEVICE(dev);
|
||||
|
||||
memory_region_init_io(&s->iomem, OBJECT(s), &pl050_ops, s, "pl050", 0x1000);
|
||||
sysbus_init_mmio(sbd, &s->iomem);
|
||||
sysbus_init_irq(sbd, &s->irq);
|
||||
if (s->is_mouse) {
|
||||
s->ps2dev = ps2_mouse_init();
|
||||
} else {
|
||||
@ -197,6 +193,13 @@ static const TypeInfo pl050_mouse_info = {
|
||||
|
||||
static void pl050_init(Object *obj)
|
||||
{
|
||||
PL050State *s = PL050(obj);
|
||||
SysBusDevice *sbd = SYS_BUS_DEVICE(obj);
|
||||
|
||||
memory_region_init_io(&s->iomem, obj, &pl050_ops, s, "pl050", 0x1000);
|
||||
sysbus_init_mmio(sbd, &s->iomem);
|
||||
sysbus_init_irq(sbd, &s->irq);
|
||||
|
||||
qdev_init_gpio_in_named(DEVICE(obj), pl050_set_irq, "ps2-input-irq", 1);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user