diff mbox series

[2/5] ppc/40x: Allocate IRQ lines with qdev_init_gpio_in()

Message ID 20220705145814.461723-3-clg@kaod.org
State New
Headers show
Series ppc: Remove irq_inputs | expand

Commit Message

Cédric Le Goater July 5, 2022, 2:58 p.m. UTC
Signed-off-by: Cédric Le Goater <clg@kaod.org>
---
 hw/ppc/ppc.c           |  5 +----
 hw/ppc/ppc405_uc.c     |  4 ++--
 hw/ppc/ppc440_bamboo.c |  4 ++--
 hw/ppc/sam460ex.c      |  4 ++--
 hw/ppc/virtex_ml507.c  | 10 +++++-----
 5 files changed, 12 insertions(+), 15 deletions(-)

Comments

BALATON Zoltan July 5, 2022, 4:27 p.m. UTC | #1
On Tue, 5 Jul 2022, Cédric Le Goater wrote:
> Signed-off-by: Cédric Le Goater <clg@kaod.org>
> ---
> hw/ppc/ppc.c           |  5 +----
> hw/ppc/ppc405_uc.c     |  4 ++--
> hw/ppc/ppc440_bamboo.c |  4 ++--
> hw/ppc/sam460ex.c      |  4 ++--
> hw/ppc/virtex_ml507.c  | 10 +++++-----
> 5 files changed, 12 insertions(+), 15 deletions(-)
>
> diff --git a/hw/ppc/ppc.c b/hw/ppc/ppc.c
> index 15f2b5f0f07a..8c88d3a4806d 100644
> --- a/hw/ppc/ppc.c
> +++ b/hw/ppc/ppc.c
> @@ -422,10 +422,7 @@ static void ppc40x_set_irq(void *opaque, int pin, int level)
>
> void ppc40x_irq_init(PowerPCCPU *cpu)
> {
> -    CPUPPCState *env = &cpu->env;
> -
> -    env->irq_inputs = (void **)qemu_allocate_irqs(&ppc40x_set_irq,
> -                                                  cpu, PPC40x_INPUT_NB);
> +    qdev_init_gpio_in(DEVICE(cpu), ppc40x_set_irq, PPC40x_INPUT_NB);
> }
>
> /* PowerPC E500 internal IRQ controller */
> diff --git a/hw/ppc/ppc405_uc.c b/hw/ppc/ppc405_uc.c
> index 36c8ba6f3c14..d6420c88d3a6 100644
> --- a/hw/ppc/ppc405_uc.c
> +++ b/hw/ppc/ppc405_uc.c
> @@ -1470,9 +1470,9 @@ PowerPCCPU *ppc405ep_init(MemoryRegion *address_space_mem,
>     sysbus_realize_and_unref(uicsbd, &error_fatal);
>
>     sysbus_connect_irq(uicsbd, PPCUIC_OUTPUT_INT,
> -                       ((qemu_irq *)env->irq_inputs)[PPC40x_INPUT_INT]);
> +                       qdev_get_gpio_in(DEVICE(cpu), PPC40x_INPUT_INT));
>     sysbus_connect_irq(uicsbd, PPCUIC_OUTPUT_CINT,
> -                       ((qemu_irq *)env->irq_inputs)[PPC40x_INPUT_CINT]);
> +                       qdev_get_gpio_in(DEVICE(cpu), PPC40x_INPUT_CINT));
>
>     *uicdevp = uicdev;
>
> diff --git a/hw/ppc/ppc440_bamboo.c b/hw/ppc/ppc440_bamboo.c
> index d5973f2484ed..873f930c77da 100644
> --- a/hw/ppc/ppc440_bamboo.c
> +++ b/hw/ppc/ppc440_bamboo.c
> @@ -200,9 +200,9 @@ static void bamboo_init(MachineState *machine)
>     sysbus_realize_and_unref(uicsbd, &error_fatal);
>
>     sysbus_connect_irq(uicsbd, PPCUIC_OUTPUT_INT,
> -                       ((qemu_irq *)env->irq_inputs)[PPC40x_INPUT_INT]);
> +                       qdev_get_gpio_in(DEVICE(cpu), PPC40x_INPUT_INT));
>     sysbus_connect_irq(uicsbd, PPCUIC_OUTPUT_CINT,
> -                       ((qemu_irq *)env->irq_inputs)[PPC40x_INPUT_CINT]);
> +                       qdev_get_gpio_in(DEVICE(cpu), PPC40x_INPUT_CINT));
>
>     /* SDRAM controller */
>     memset(ram_bases, 0, sizeof(ram_bases));
> diff --git a/hw/ppc/sam460ex.c b/hw/ppc/sam460ex.c
> index 2f24598f55db..7e8da657c2a9 100644
> --- a/hw/ppc/sam460ex.c
> +++ b/hw/ppc/sam460ex.c
> @@ -334,9 +334,9 @@ static void sam460ex_init(MachineState *machine)
>
>         if (i == 0) {
>             sysbus_connect_irq(sbd, PPCUIC_OUTPUT_INT,
> -                               ((qemu_irq *)env->irq_inputs)[PPC40x_INPUT_INT]);
> +                             qdev_get_gpio_in(DEVICE(cpu), PPC40x_INPUT_INT));
>             sysbus_connect_irq(sbd, PPCUIC_OUTPUT_CINT,
> -                               ((qemu_irq *)env->irq_inputs)[PPC40x_INPUT_CINT]);
> +                             qdev_get_gpio_in(DEVICE(cpu), PPC40x_INPUT_CINT));

Looks like indentation is off in above two lines.

Regards,
BALATON Zoltan

>         } else {
>             sysbus_connect_irq(sbd, PPCUIC_OUTPUT_INT,
>                                qdev_get_gpio_in(uic[0], input_ints[i]));
> diff --git a/hw/ppc/virtex_ml507.c b/hw/ppc/virtex_ml507.c
> index b67a709ddce2..53b126ff48a6 100644
> --- a/hw/ppc/virtex_ml507.c
> +++ b/hw/ppc/virtex_ml507.c
> @@ -111,9 +111,9 @@ static PowerPCCPU *ppc440_init_xilinx(const char *cpu_type, uint32_t sysclk)
>     sysbus_realize_and_unref(uicsbd, &error_fatal);
>
>     sysbus_connect_irq(uicsbd, PPCUIC_OUTPUT_INT,
> -                       ((qemu_irq *)env->irq_inputs)[PPC40x_INPUT_INT]);
> +                       qdev_get_gpio_in(DEVICE(cpu), PPC40x_INPUT_INT));
>     sysbus_connect_irq(uicsbd, PPCUIC_OUTPUT_CINT,
> -                       ((qemu_irq *)env->irq_inputs)[PPC40x_INPUT_CINT]);
> +                       qdev_get_gpio_in(DEVICE(cpu), PPC40x_INPUT_CINT));
>
>     /* This board doesn't wire anything up to the inputs of the UIC. */
>     return cpu;
> @@ -213,7 +213,7 @@ static void virtex_init(MachineState *machine)
>     CPUPPCState *env;
>     hwaddr ram_base = 0;
>     DriveInfo *dinfo;
> -    qemu_irq irq[32], *cpu_irq;
> +    qemu_irq irq[32], cpu_irq;
>     int kernel_size;
>     int i;
>
> @@ -236,12 +236,12 @@ static void virtex_init(MachineState *machine)
>                           dinfo ? blk_by_legacy_dinfo(dinfo) : NULL,
>                           64 * KiB, 1, 0x89, 0x18, 0x0000, 0x0, 1);
>
> -    cpu_irq = (qemu_irq *) &env->irq_inputs[PPC40x_INPUT_INT];
> +    cpu_irq = qdev_get_gpio_in(DEVICE(cpu), PPC40x_INPUT_INT);
>     dev = qdev_new("xlnx.xps-intc");
>     qdev_prop_set_uint32(dev, "kind-of-intr", 0);
>     sysbus_realize_and_unref(SYS_BUS_DEVICE(dev), &error_fatal);
>     sysbus_mmio_map(SYS_BUS_DEVICE(dev), 0, INTC_BASEADDR);
> -    sysbus_connect_irq(SYS_BUS_DEVICE(dev), 0, cpu_irq[0]);
> +    sysbus_connect_irq(SYS_BUS_DEVICE(dev), 0, cpu_irq);
>     for (i = 0; i < 32; i++) {
>         irq[i] = qdev_get_gpio_in(dev, i);
>     }
>
Cédric Le Goater July 5, 2022, 4:37 p.m. UTC | #2
On 7/5/22 18:27, BALATON Zoltan wrote:
> On Tue, 5 Jul 2022, Cédric Le Goater wrote:
>> Signed-off-by: Cédric Le Goater <clg@kaod.org>
>> ---
>> hw/ppc/ppc.c           |  5 +----
>> hw/ppc/ppc405_uc.c     |  4 ++--
>> hw/ppc/ppc440_bamboo.c |  4 ++--
>> hw/ppc/sam460ex.c      |  4 ++--
>> hw/ppc/virtex_ml507.c  | 10 +++++-----
>> 5 files changed, 12 insertions(+), 15 deletions(-)
>>
>> diff --git a/hw/ppc/ppc.c b/hw/ppc/ppc.c
>> index 15f2b5f0f07a..8c88d3a4806d 100644
>> --- a/hw/ppc/ppc.c
>> +++ b/hw/ppc/ppc.c
>> @@ -422,10 +422,7 @@ static void ppc40x_set_irq(void *opaque, int pin, int level)
>>
>> void ppc40x_irq_init(PowerPCCPU *cpu)
>> {
>> -    CPUPPCState *env = &cpu->env;
>> -
>> -    env->irq_inputs = (void **)qemu_allocate_irqs(&ppc40x_set_irq,
>> -                                                  cpu, PPC40x_INPUT_NB);
>> +    qdev_init_gpio_in(DEVICE(cpu), ppc40x_set_irq, PPC40x_INPUT_NB);
>> }
>>
>> /* PowerPC E500 internal IRQ controller */
>> diff --git a/hw/ppc/ppc405_uc.c b/hw/ppc/ppc405_uc.c
>> index 36c8ba6f3c14..d6420c88d3a6 100644
>> --- a/hw/ppc/ppc405_uc.c
>> +++ b/hw/ppc/ppc405_uc.c
>> @@ -1470,9 +1470,9 @@ PowerPCCPU *ppc405ep_init(MemoryRegion *address_space_mem,
>>     sysbus_realize_and_unref(uicsbd, &error_fatal);
>>
>>     sysbus_connect_irq(uicsbd, PPCUIC_OUTPUT_INT,
>> -                       ((qemu_irq *)env->irq_inputs)[PPC40x_INPUT_INT]);
>> +                       qdev_get_gpio_in(DEVICE(cpu), PPC40x_INPUT_INT));
>>     sysbus_connect_irq(uicsbd, PPCUIC_OUTPUT_CINT,
>> -                       ((qemu_irq *)env->irq_inputs)[PPC40x_INPUT_CINT]);
>> +                       qdev_get_gpio_in(DEVICE(cpu), PPC40x_INPUT_CINT));
>>
>>     *uicdevp = uicdev;
>>
>> diff --git a/hw/ppc/ppc440_bamboo.c b/hw/ppc/ppc440_bamboo.c
>> index d5973f2484ed..873f930c77da 100644
>> --- a/hw/ppc/ppc440_bamboo.c
>> +++ b/hw/ppc/ppc440_bamboo.c
>> @@ -200,9 +200,9 @@ static void bamboo_init(MachineState *machine)
>>     sysbus_realize_and_unref(uicsbd, &error_fatal);
>>
>>     sysbus_connect_irq(uicsbd, PPCUIC_OUTPUT_INT,
>> -                       ((qemu_irq *)env->irq_inputs)[PPC40x_INPUT_INT]);
>> +                       qdev_get_gpio_in(DEVICE(cpu), PPC40x_INPUT_INT));
>>     sysbus_connect_irq(uicsbd, PPCUIC_OUTPUT_CINT,
>> -                       ((qemu_irq *)env->irq_inputs)[PPC40x_INPUT_CINT]);
>> +                       qdev_get_gpio_in(DEVICE(cpu), PPC40x_INPUT_CINT));
>>
>>     /* SDRAM controller */
>>     memset(ram_bases, 0, sizeof(ram_bases));
>> diff --git a/hw/ppc/sam460ex.c b/hw/ppc/sam460ex.c
>> index 2f24598f55db..7e8da657c2a9 100644
>> --- a/hw/ppc/sam460ex.c
>> +++ b/hw/ppc/sam460ex.c
>> @@ -334,9 +334,9 @@ static void sam460ex_init(MachineState *machine)
>>
>>         if (i == 0) {
>>             sysbus_connect_irq(sbd, PPCUIC_OUTPUT_INT,
>> -                               ((qemu_irq *)env->irq_inputs)[PPC40x_INPUT_INT]);
>> +                             qdev_get_gpio_in(DEVICE(cpu), PPC40x_INPUT_INT));
>>             sysbus_connect_irq(sbd, PPCUIC_OUTPUT_CINT,
>> -                               ((qemu_irq *)env->irq_inputs)[PPC40x_INPUT_CINT]);
>> +                             qdev_get_gpio_in(DEVICE(cpu), PPC40x_INPUT_CINT));
> 
> Looks like indentation is off in above two lines.

Yes. This is to make check-patch happy.

C.

> 
> Regards,
> BALATON Zoltan
> 
>>         } else {
>>             sysbus_connect_irq(sbd, PPCUIC_OUTPUT_INT,
>>                                qdev_get_gpio_in(uic[0], input_ints[i]));
>> diff --git a/hw/ppc/virtex_ml507.c b/hw/ppc/virtex_ml507.c
>> index b67a709ddce2..53b126ff48a6 100644
>> --- a/hw/ppc/virtex_ml507.c
>> +++ b/hw/ppc/virtex_ml507.c
>> @@ -111,9 +111,9 @@ static PowerPCCPU *ppc440_init_xilinx(const char *cpu_type, uint32_t sysclk)
>>     sysbus_realize_and_unref(uicsbd, &error_fatal);
>>
>>     sysbus_connect_irq(uicsbd, PPCUIC_OUTPUT_INT,
>> -                       ((qemu_irq *)env->irq_inputs)[PPC40x_INPUT_INT]);
>> +                       qdev_get_gpio_in(DEVICE(cpu), PPC40x_INPUT_INT));
>>     sysbus_connect_irq(uicsbd, PPCUIC_OUTPUT_CINT,
>> -                       ((qemu_irq *)env->irq_inputs)[PPC40x_INPUT_CINT]);
>> +                       qdev_get_gpio_in(DEVICE(cpu), PPC40x_INPUT_CINT));
>>
>>     /* This board doesn't wire anything up to the inputs of the UIC. */
>>     return cpu;
>> @@ -213,7 +213,7 @@ static void virtex_init(MachineState *machine)
>>     CPUPPCState *env;
>>     hwaddr ram_base = 0;
>>     DriveInfo *dinfo;
>> -    qemu_irq irq[32], *cpu_irq;
>> +    qemu_irq irq[32], cpu_irq;
>>     int kernel_size;
>>     int i;
>>
>> @@ -236,12 +236,12 @@ static void virtex_init(MachineState *machine)
>>                           dinfo ? blk_by_legacy_dinfo(dinfo) : NULL,
>>                           64 * KiB, 1, 0x89, 0x18, 0x0000, 0x0, 1);
>>
>> -    cpu_irq = (qemu_irq *) &env->irq_inputs[PPC40x_INPUT_INT];
>> +    cpu_irq = qdev_get_gpio_in(DEVICE(cpu), PPC40x_INPUT_INT);
>>     dev = qdev_new("xlnx.xps-intc");
>>     qdev_prop_set_uint32(dev, "kind-of-intr", 0);
>>     sysbus_realize_and_unref(SYS_BUS_DEVICE(dev), &error_fatal);
>>     sysbus_mmio_map(SYS_BUS_DEVICE(dev), 0, INTC_BASEADDR);
>> -    sysbus_connect_irq(SYS_BUS_DEVICE(dev), 0, cpu_irq[0]);
>> +    sysbus_connect_irq(SYS_BUS_DEVICE(dev), 0, cpu_irq);
>>     for (i = 0; i < 32; i++) {
>>         irq[i] = qdev_get_gpio_in(dev, i);
>>     }
>>
diff mbox series

Patch

diff --git a/hw/ppc/ppc.c b/hw/ppc/ppc.c
index 15f2b5f0f07a..8c88d3a4806d 100644
--- a/hw/ppc/ppc.c
+++ b/hw/ppc/ppc.c
@@ -422,10 +422,7 @@  static void ppc40x_set_irq(void *opaque, int pin, int level)
 
 void ppc40x_irq_init(PowerPCCPU *cpu)
 {
-    CPUPPCState *env = &cpu->env;
-
-    env->irq_inputs = (void **)qemu_allocate_irqs(&ppc40x_set_irq,
-                                                  cpu, PPC40x_INPUT_NB);
+    qdev_init_gpio_in(DEVICE(cpu), ppc40x_set_irq, PPC40x_INPUT_NB);
 }
 
 /* PowerPC E500 internal IRQ controller */
diff --git a/hw/ppc/ppc405_uc.c b/hw/ppc/ppc405_uc.c
index 36c8ba6f3c14..d6420c88d3a6 100644
--- a/hw/ppc/ppc405_uc.c
+++ b/hw/ppc/ppc405_uc.c
@@ -1470,9 +1470,9 @@  PowerPCCPU *ppc405ep_init(MemoryRegion *address_space_mem,
     sysbus_realize_and_unref(uicsbd, &error_fatal);
 
     sysbus_connect_irq(uicsbd, PPCUIC_OUTPUT_INT,
-                       ((qemu_irq *)env->irq_inputs)[PPC40x_INPUT_INT]);
+                       qdev_get_gpio_in(DEVICE(cpu), PPC40x_INPUT_INT));
     sysbus_connect_irq(uicsbd, PPCUIC_OUTPUT_CINT,
-                       ((qemu_irq *)env->irq_inputs)[PPC40x_INPUT_CINT]);
+                       qdev_get_gpio_in(DEVICE(cpu), PPC40x_INPUT_CINT));
 
     *uicdevp = uicdev;
 
diff --git a/hw/ppc/ppc440_bamboo.c b/hw/ppc/ppc440_bamboo.c
index d5973f2484ed..873f930c77da 100644
--- a/hw/ppc/ppc440_bamboo.c
+++ b/hw/ppc/ppc440_bamboo.c
@@ -200,9 +200,9 @@  static void bamboo_init(MachineState *machine)
     sysbus_realize_and_unref(uicsbd, &error_fatal);
 
     sysbus_connect_irq(uicsbd, PPCUIC_OUTPUT_INT,
-                       ((qemu_irq *)env->irq_inputs)[PPC40x_INPUT_INT]);
+                       qdev_get_gpio_in(DEVICE(cpu), PPC40x_INPUT_INT));
     sysbus_connect_irq(uicsbd, PPCUIC_OUTPUT_CINT,
-                       ((qemu_irq *)env->irq_inputs)[PPC40x_INPUT_CINT]);
+                       qdev_get_gpio_in(DEVICE(cpu), PPC40x_INPUT_CINT));
 
     /* SDRAM controller */
     memset(ram_bases, 0, sizeof(ram_bases));
diff --git a/hw/ppc/sam460ex.c b/hw/ppc/sam460ex.c
index 2f24598f55db..7e8da657c2a9 100644
--- a/hw/ppc/sam460ex.c
+++ b/hw/ppc/sam460ex.c
@@ -334,9 +334,9 @@  static void sam460ex_init(MachineState *machine)
 
         if (i == 0) {
             sysbus_connect_irq(sbd, PPCUIC_OUTPUT_INT,
-                               ((qemu_irq *)env->irq_inputs)[PPC40x_INPUT_INT]);
+                             qdev_get_gpio_in(DEVICE(cpu), PPC40x_INPUT_INT));
             sysbus_connect_irq(sbd, PPCUIC_OUTPUT_CINT,
-                               ((qemu_irq *)env->irq_inputs)[PPC40x_INPUT_CINT]);
+                             qdev_get_gpio_in(DEVICE(cpu), PPC40x_INPUT_CINT));
         } else {
             sysbus_connect_irq(sbd, PPCUIC_OUTPUT_INT,
                                qdev_get_gpio_in(uic[0], input_ints[i]));
diff --git a/hw/ppc/virtex_ml507.c b/hw/ppc/virtex_ml507.c
index b67a709ddce2..53b126ff48a6 100644
--- a/hw/ppc/virtex_ml507.c
+++ b/hw/ppc/virtex_ml507.c
@@ -111,9 +111,9 @@  static PowerPCCPU *ppc440_init_xilinx(const char *cpu_type, uint32_t sysclk)
     sysbus_realize_and_unref(uicsbd, &error_fatal);
 
     sysbus_connect_irq(uicsbd, PPCUIC_OUTPUT_INT,
-                       ((qemu_irq *)env->irq_inputs)[PPC40x_INPUT_INT]);
+                       qdev_get_gpio_in(DEVICE(cpu), PPC40x_INPUT_INT));
     sysbus_connect_irq(uicsbd, PPCUIC_OUTPUT_CINT,
-                       ((qemu_irq *)env->irq_inputs)[PPC40x_INPUT_CINT]);
+                       qdev_get_gpio_in(DEVICE(cpu), PPC40x_INPUT_CINT));
 
     /* This board doesn't wire anything up to the inputs of the UIC. */
     return cpu;
@@ -213,7 +213,7 @@  static void virtex_init(MachineState *machine)
     CPUPPCState *env;
     hwaddr ram_base = 0;
     DriveInfo *dinfo;
-    qemu_irq irq[32], *cpu_irq;
+    qemu_irq irq[32], cpu_irq;
     int kernel_size;
     int i;
 
@@ -236,12 +236,12 @@  static void virtex_init(MachineState *machine)
                           dinfo ? blk_by_legacy_dinfo(dinfo) : NULL,
                           64 * KiB, 1, 0x89, 0x18, 0x0000, 0x0, 1);
 
-    cpu_irq = (qemu_irq *) &env->irq_inputs[PPC40x_INPUT_INT];
+    cpu_irq = qdev_get_gpio_in(DEVICE(cpu), PPC40x_INPUT_INT);
     dev = qdev_new("xlnx.xps-intc");
     qdev_prop_set_uint32(dev, "kind-of-intr", 0);
     sysbus_realize_and_unref(SYS_BUS_DEVICE(dev), &error_fatal);
     sysbus_mmio_map(SYS_BUS_DEVICE(dev), 0, INTC_BASEADDR);
-    sysbus_connect_irq(SYS_BUS_DEVICE(dev), 0, cpu_irq[0]);
+    sysbus_connect_irq(SYS_BUS_DEVICE(dev), 0, cpu_irq);
     for (i = 0; i < 32; i++) {
         irq[i] = qdev_get_gpio_in(dev, i);
     }