Re: [PATCH 03/33] hw/arm/fsl-imx6ul: Add a local 'gic' variable

2024-01-02 Thread Cédric Le Goater

On 12/12/23 17:29, Philippe Mathieu-Daudé wrote:

The A7MPCore forward the IRQs from its internal GIC.
To make the code clearer, add a 'gic' variable.

Signed-off-by: Philippe Mathieu-Daudé 



Reviewed-by: Cédric Le Goater 

Thanks,

C.






[PATCH 03/33] hw/arm/fsl-imx6ul: Add a local 'gic' variable

2023-12-12 Thread Philippe Mathieu-Daudé
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),
-