On 15/02/2024 14:46, Philippe Mathieu-Daudé wrote:
> By passing a DeviceState context to a QDev IRQ handler,
> we can simplify and use qdev_init_gpio_in_named() instead
> of qdev_init_gpio_in_named_with_opaque().
>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
> ---
> hw/sparc/leon3.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/hw/sparc/leon3.c b/hw/sparc/leon3.c
> index a15f90e142..44fca1487d 100644
> --- a/hw/sparc/leon3.c
> +++ b/hw/sparc/leon3.c
> @@ -241,7 +241,8 @@ static void leon3_start_cpu_async_work(CPUState *cpu, run_on_cpu_data data)
>
> static void leon3_start_cpu(void *opaque, int n, int level)
> {
> - CPUState *cs = CPU(opaque);
> + DeviceState *cpu = opaque;
> + CPUState *cs = CPU(cpu);
>
> assert(level == 1);
> async_run_on_cpu(cs, leon3_start_cpu_async_work, RUN_ON_CPU_NULL);
> @@ -310,8 +311,7 @@ static void leon3_generic_hw_init(MachineState *machine)
> for (i = 0; i < machine->smp.cpus; i++) {
> cpu = reset_info->info[i].cpu;
> env = &cpu->env;
> - qdev_init_gpio_in_named_with_opaque(DEVICE(cpu), leon3_start_cpu,
> - cpu, "start_cpu", 1);
> + qdev_init_gpio_in_named(DEVICE(cpu), leon3_start_cpu, "start_cpu", 1);
> qdev_connect_gpio_out_named(irqmpdev, "grlib-start-cpu", i,
> qdev_get_gpio_in_named(DEVICE(cpu),
> "start_cpu", 0));
Reviewed-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
ATB,
Mark.