The A7MPCore forward the IRQs from its internal GIC.
To make the code clearer, add a 'gic' variable.
Signed-off-by: Philippe Mathieu-Daudé
---
hw/arm/fsl-imx6ul.c | 38 ++
1 file changed, 14 insertions(+), 24 deletions(-)
diff --git a/hw/arm/fsl-imx6ul.c b/hw/arm/fsl-imx6ul.c
index e37b69a5e1..59032263cf 100644
--- a/hw/arm/fsl-imx6ul.c
+++ b/hw/arm/fsl-imx6ul.c
@@ -156,6 +156,7 @@ static void fsl_imx6ul_realize(DeviceState *dev, Error
**errp)
{
MachineState *ms = MACHINE(qdev_get_machine());
FslIMX6ULState *s = FSL_IMX6UL(dev);
+DeviceState *gic;
int i;
char name[NAME_SIZE];
SysBusDevice *sbd;
@@ -177,6 +178,7 @@ static void fsl_imx6ul_realize(DeviceState *dev, Error
**errp)
FSL_IMX6UL_MAX_IRQ + GIC_INTERNAL, _abort);
sysbus_realize(SYS_BUS_DEVICE(>a7mpcore), _abort);
sysbus_mmio_map(SYS_BUS_DEVICE(>a7mpcore), 0, FSL_IMX6UL_A7MPCORE_ADDR);
+gic = DEVICE(>a7mpcore);
sbd = SYS_BUS_DEVICE(>a7mpcore);
d = DEVICE(>cpu);
@@ -213,8 +215,7 @@ static void fsl_imx6ul_realize(DeviceState *dev, Error
**errp)
FSL_IMX6UL_GPTn_ADDR[i]);
sysbus_connect_irq(SYS_BUS_DEVICE(>gpt[i]), 0,
- qdev_get_gpio_in(DEVICE(>a7mpcore),
-FSL_IMX6UL_GPTn_IRQ[i]));
+ qdev_get_gpio_in(gic, FSL_IMX6UL_GPTn_IRQ[i]));
}
/*
@@ -238,8 +239,7 @@ static void fsl_imx6ul_realize(DeviceState *dev, Error
**errp)
FSL_IMX6UL_EPITn_ADDR[i]);
sysbus_connect_irq(SYS_BUS_DEVICE(>epit[i]), 0,
- qdev_get_gpio_in(DEVICE(>a7mpcore),
-FSL_IMX6UL_EPITn_IRQ[i]));
+ qdev_get_gpio_in(gic, FSL_IMX6UL_EPITn_IRQ[i]));
}
/*
@@ -276,12 +276,10 @@ static void fsl_imx6ul_realize(DeviceState *dev, Error
**errp)
FSL_IMX6UL_GPIOn_ADDR[i]);
sysbus_connect_irq(SYS_BUS_DEVICE(>gpio[i]), 0,
- qdev_get_gpio_in(DEVICE(>a7mpcore),
-FSL_IMX6UL_GPIOn_LOW_IRQ[i]));
+ qdev_get_gpio_in(gic, FSL_IMX6UL_GPIOn_LOW_IRQ[i]));
sysbus_connect_irq(SYS_BUS_DEVICE(>gpio[i]), 1,
- qdev_get_gpio_in(DEVICE(>a7mpcore),
-FSL_IMX6UL_GPIOn_HIGH_IRQ[i]));
+ qdev_get_gpio_in(gic,
FSL_IMX6UL_GPIOn_HIGH_IRQ[i]));
}
/*
@@ -335,8 +333,7 @@ static void fsl_imx6ul_realize(DeviceState *dev, Error
**errp)
FSL_IMX6UL_SPIn_ADDR[i]);
sysbus_connect_irq(SYS_BUS_DEVICE(>spi[i]), 0,
- qdev_get_gpio_in(DEVICE(>a7mpcore),
-FSL_IMX6UL_SPIn_IRQ[i]));
+ qdev_get_gpio_in(gic, FSL_IMX6UL_SPIn_IRQ[i]));
}
/*
@@ -361,8 +358,7 @@ static void fsl_imx6ul_realize(DeviceState *dev, Error
**errp)
sysbus_mmio_map(SYS_BUS_DEVICE(>i2c[i]), 0,
FSL_IMX6UL_I2Cn_ADDR[i]);
sysbus_connect_irq(SYS_BUS_DEVICE(>i2c[i]), 0,
- qdev_get_gpio_in(DEVICE(>a7mpcore),
-FSL_IMX6UL_I2Cn_IRQ[i]));
+ qdev_get_gpio_in(gic, FSL_IMX6UL_I2Cn_IRQ[i]));
}
/*
@@ -399,8 +395,7 @@ static void fsl_imx6ul_realize(DeviceState *dev, Error
**errp)
FSL_IMX6UL_UARTn_ADDR[i]);
sysbus_connect_irq(SYS_BUS_DEVICE(>uart[i]), 0,
- qdev_get_gpio_in(DEVICE(>a7mpcore),
-FSL_IMX6UL_UARTn_IRQ[i]));
+ qdev_get_gpio_in(gic, FSL_IMX6UL_UARTn_IRQ[i]));
}
/*
@@ -449,12 +444,10 @@ static void fsl_imx6ul_realize(DeviceState *dev, Error
**errp)
FSL_IMX6UL_ENETn_ADDR[i]);
sysbus_connect_irq(SYS_BUS_DEVICE(>eth[i]), 0,
- qdev_get_gpio_in(DEVICE(>a7mpcore),
-FSL_IMX6UL_ENETn_IRQ[i]));
+ qdev_get_gpio_in(gic, FSL_IMX6UL_ENETn_IRQ[i]));
sysbus_connect_irq(SYS_BUS_DEVICE(>eth[i]), 1,
- qdev_get_gpio_in(DEVICE(>a7mpcore),
-FSL_IMX6UL_ENETn_TIMER_IRQ[i]));
+ qdev_get_gpio_in(gic,
FSL_IMX6UL_ENETn_TIMER_IRQ[i]));
}
/*
@@ -490,8 +483,7 @@ static void fsl_imx6ul_realize(DeviceState *dev, Error
**errp)
sysbus_mmio_map(SYS_BUS_DEVICE(>usb[i]), 0,
FSL_IMX6UL_USB02_USBn_ADDR[i]);
sysbus_connect_irq(SYS_BUS_DEVICE(>usb[i]), 0,
- qdev_get_gpio_in(DEVICE(>a7mpcore),
-