|
@@ -121,11 +121,11 @@ static const int aspeed_soc_ast2400_irqmap[] = {
|
|
|
|
|
|
#define aspeed_soc_ast2500_irqmap aspeed_soc_ast2400_irqmap
|
|
#define aspeed_soc_ast2500_irqmap aspeed_soc_ast2400_irqmap
|
|
|
|
|
|
-static qemu_irq aspeed_soc_get_irq(AspeedSoCState *s, int ctrl)
|
|
|
|
|
|
+static qemu_irq aspeed_soc_ast2400_get_irq(AspeedSoCState *s, int dev)
|
|
{
|
|
{
|
|
AspeedSoCClass *sc = ASPEED_SOC_GET_CLASS(s);
|
|
AspeedSoCClass *sc = ASPEED_SOC_GET_CLASS(s);
|
|
|
|
|
|
- return qdev_get_gpio_in(DEVICE(&s->vic), sc->irqmap[ctrl]);
|
|
|
|
|
|
+ return qdev_get_gpio_in(DEVICE(&s->vic), sc->irqmap[dev]);
|
|
}
|
|
}
|
|
|
|
|
|
static void aspeed_soc_init(Object *obj)
|
|
static void aspeed_soc_init(Object *obj)
|
|
@@ -487,6 +487,7 @@ static void aspeed_soc_ast2400_class_init(ObjectClass *oc, void *data)
|
|
sc->irqmap = aspeed_soc_ast2400_irqmap;
|
|
sc->irqmap = aspeed_soc_ast2400_irqmap;
|
|
sc->memmap = aspeed_soc_ast2400_memmap;
|
|
sc->memmap = aspeed_soc_ast2400_memmap;
|
|
sc->num_cpus = 1;
|
|
sc->num_cpus = 1;
|
|
|
|
+ sc->get_irq = aspeed_soc_ast2400_get_irq;
|
|
}
|
|
}
|
|
|
|
|
|
static const TypeInfo aspeed_soc_ast2400_type_info = {
|
|
static const TypeInfo aspeed_soc_ast2400_type_info = {
|
|
@@ -512,6 +513,7 @@ static void aspeed_soc_ast2500_class_init(ObjectClass *oc, void *data)
|
|
sc->irqmap = aspeed_soc_ast2500_irqmap;
|
|
sc->irqmap = aspeed_soc_ast2500_irqmap;
|
|
sc->memmap = aspeed_soc_ast2500_memmap;
|
|
sc->memmap = aspeed_soc_ast2500_memmap;
|
|
sc->num_cpus = 1;
|
|
sc->num_cpus = 1;
|
|
|
|
+ sc->get_irq = aspeed_soc_ast2400_get_irq;
|
|
}
|
|
}
|
|
|
|
|
|
static const TypeInfo aspeed_soc_ast2500_type_info = {
|
|
static const TypeInfo aspeed_soc_ast2500_type_info = {
|
|
@@ -528,4 +530,9 @@ static void aspeed_soc_register_types(void)
|
|
type_register_static(&aspeed_soc_ast2500_type_info);
|
|
type_register_static(&aspeed_soc_ast2500_type_info);
|
|
};
|
|
};
|
|
|
|
|
|
-type_init(aspeed_soc_register_types)
|
|
|
|
|
|
+type_init(aspeed_soc_register_types);
|
|
|
|
+
|
|
|
|
+qemu_irq aspeed_soc_get_irq(AspeedSoCState *s, int dev)
|
|
|
|
+{
|
|
|
|
+ return ASPEED_SOC_GET_CLASS(s)->get_irq(s, dev);
|
|
|
|
+}
|