lasi: move memory region initialisation to new lasi_init() function
Create a new lasi_init() instance initialisation function and move the LASI memory region initialisation into it. Rename the existing lasi_init() function to lasi_initfn() for now. Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> Acked-by: Helge Deller <deller@gmx.de> Message-Id: <20220504092600.10048-25-mark.cave-ayland@ilande.co.uk> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
This commit is contained in:
parent
63588da809
commit
46f2594cfc
@ -10,7 +10,7 @@
|
|||||||
|
|
||||||
#include "hppa_hardware.h"
|
#include "hppa_hardware.h"
|
||||||
|
|
||||||
DeviceState *lasi_init(MemoryRegion *);
|
DeviceState *lasi_initfn(MemoryRegion *);
|
||||||
#define enable_lasi_lan() 0
|
#define enable_lasi_lan() 0
|
||||||
|
|
||||||
/* hppa_pci.c. */
|
/* hppa_pci.c. */
|
||||||
|
@ -296,7 +296,7 @@ static int lasi_get_irq(unsigned long hpa)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
DeviceState *lasi_init(MemoryRegion *address_space)
|
DeviceState *lasi_initfn(MemoryRegion *address_space)
|
||||||
{
|
{
|
||||||
DeviceState *dev;
|
DeviceState *dev;
|
||||||
LasiState *s;
|
LasiState *s;
|
||||||
@ -306,8 +306,6 @@ DeviceState *lasi_init(MemoryRegion *address_space)
|
|||||||
s->iar = CPU_HPA + 3;
|
s->iar = CPU_HPA + 3;
|
||||||
|
|
||||||
/* Lasi access from main memory. */
|
/* Lasi access from main memory. */
|
||||||
memory_region_init_io(&s->this_mem, OBJECT(s), &lasi_chip_ops,
|
|
||||||
s, "lasi", 0x100000);
|
|
||||||
memory_region_add_subregion(address_space, LASI_HPA, &s->this_mem);
|
memory_region_add_subregion(address_space, LASI_HPA, &s->this_mem);
|
||||||
|
|
||||||
sysbus_realize_and_unref(SYS_BUS_DEVICE(dev), &error_fatal);
|
sysbus_realize_and_unref(SYS_BUS_DEVICE(dev), &error_fatal);
|
||||||
@ -347,6 +345,14 @@ DeviceState *lasi_init(MemoryRegion *address_space)
|
|||||||
return dev;
|
return dev;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void lasi_init(Object *obj)
|
||||||
|
{
|
||||||
|
LasiState *s = LASI_CHIP(obj);
|
||||||
|
|
||||||
|
memory_region_init_io(&s->this_mem, OBJECT(s), &lasi_chip_ops,
|
||||||
|
s, "lasi", 0x100000);
|
||||||
|
}
|
||||||
|
|
||||||
static void lasi_class_init(ObjectClass *klass, void *data)
|
static void lasi_class_init(ObjectClass *klass, void *data)
|
||||||
{
|
{
|
||||||
DeviceClass *dc = DEVICE_CLASS(klass);
|
DeviceClass *dc = DEVICE_CLASS(klass);
|
||||||
@ -357,6 +363,7 @@ static void lasi_class_init(ObjectClass *klass, void *data)
|
|||||||
static const TypeInfo lasi_pcihost_info = {
|
static const TypeInfo lasi_pcihost_info = {
|
||||||
.name = TYPE_LASI_CHIP,
|
.name = TYPE_LASI_CHIP,
|
||||||
.parent = TYPE_SYS_BUS_DEVICE,
|
.parent = TYPE_SYS_BUS_DEVICE,
|
||||||
|
.instance_init = lasi_init,
|
||||||
.instance_size = sizeof(LasiState),
|
.instance_size = sizeof(LasiState),
|
||||||
.class_init = lasi_class_init,
|
.class_init = lasi_class_init,
|
||||||
};
|
};
|
||||||
|
@ -175,7 +175,7 @@ static void machine_hppa_init(MachineState *machine)
|
|||||||
|
|
||||||
|
|
||||||
/* Init Lasi chip */
|
/* Init Lasi chip */
|
||||||
lasi_init(addr_space);
|
lasi_initfn(addr_space);
|
||||||
|
|
||||||
/* Init Dino (PCI host bus chip). */
|
/* Init Dino (PCI host bus chip). */
|
||||||
dino_dev = DEVICE(dino_init(addr_space));
|
dino_dev = DEVICE(dino_init(addr_space));
|
||||||
|
Loading…
x
Reference in New Issue
Block a user