[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] aspeed: Introduce a get_irq AspeedSoCClass method
From: |
Peter Delevoryas |
Subject: |
Re: [PATCH] aspeed: Introduce a get_irq AspeedSoCClass method |
Date: |
Sun, 15 May 2022 23:01:33 +0000 |
> On May 15, 2022, at 2:10 PM, Cédric Le Goater <clg@kaod.org> wrote:
>
> and make routine aspeed_soc_get_irq() common to all SoCs. This will be
> useful to share code.
>
> Cc: Jamin Lin <jamin_lin@aspeedtech.com>
> Cc: Peter Delevoryas <pdel@fb.com>
> Signed-off-by: Cédric Le Goater <clg@kaod.org>
> ---
> include/hw/arm/aspeed_soc.h | 3 +++
> hw/arm/aspeed_ast10x0.c | 3 ++-
> hw/arm/aspeed_ast2600.c | 3 ++-
> hw/arm/aspeed_soc.c | 11 +++++++++--
> 4 files changed, 16 insertions(+), 4 deletions(-)
>
> diff --git a/include/hw/arm/aspeed_soc.h b/include/hw/arm/aspeed_soc.h
> index e13af374b923..3789f38603e5 100644
> --- a/include/hw/arm/aspeed_soc.h
> +++ b/include/hw/arm/aspeed_soc.h
> @@ -94,6 +94,7 @@ struct AspeedSoCClass {
> const int *irqmap;
> const hwaddr *memmap;
> uint32_t num_cpus;
> + qemu_irq (*get_irq)(AspeedSoCState *s, int dev);
> };
>
>
> @@ -153,4 +154,6 @@ enum {
> ASPEED_DEV_I3C,
> };
>
> +qemu_irq aspeed_soc_get_irq(AspeedSoCState *s, int dev);
> +
> #endif /* ASPEED_SOC_H */
> diff --git a/hw/arm/aspeed_ast10x0.c b/hw/arm/aspeed_ast10x0.c
> index 427154928254..ddec5706f3c1 100644
> --- a/hw/arm/aspeed_ast10x0.c
> +++ b/hw/arm/aspeed_ast10x0.c
> @@ -61,7 +61,7 @@ static const int aspeed_soc_ast1030_irqmap[] = {
> [ASPEED_DEV_KCS] = 138, /* 138 -> 142 */
> };
>
> -static qemu_irq aspeed_soc_get_irq(AspeedSoCState *s, int ctrl)
> +static qemu_irq aspeed_soc_ast1030_get_irq(AspeedSoCState *s, int dev)
> {
> AspeedSoCClass *sc = ASPEED_SOC_GET_CLASS(s);
>
> @@ -280,6 +280,7 @@ static void aspeed_soc_ast1030_class_init(ObjectClass
> *klass, void *data)
> sc->irqmap = aspeed_soc_ast1030_irqmap;
> sc->memmap = aspeed_soc_ast1030_memmap;
> sc->num_cpus = 1;
> + sc->get_irq = aspeed_soc_ast1030_get_irq;
> }
>
> static const TypeInfo aspeed_soc_ast1030_type_info = {
> diff --git a/hw/arm/aspeed_ast2600.c b/hw/arm/aspeed_ast2600.c
> index eedda7badc37..255dbc6b95ab 100644
> --- a/hw/arm/aspeed_ast2600.c
> +++ b/hw/arm/aspeed_ast2600.c
> @@ -114,7 +114,7 @@ static const int aspeed_soc_ast2600_irqmap[] = {
> [ASPEED_DEV_I3C] = 102, /* 102 -> 107 */
> };
>
> -static qemu_irq aspeed_soc_get_irq(AspeedSoCState *s, int ctrl)
> +static qemu_irq aspeed_soc_ast2600_get_irq(AspeedSoCState *s, int dev)
> {
> AspeedSoCClass *sc = ASPEED_SOC_GET_CLASS(s);
>
> @@ -572,6 +572,7 @@ static void aspeed_soc_ast2600_class_init(ObjectClass
> *oc, void *data)
> sc->irqmap = aspeed_soc_ast2600_irqmap;
> sc->memmap = aspeed_soc_ast2600_memmap;
> sc->num_cpus = 2;
> + sc->get_irq = aspeed_soc_ast2600_get_irq;
> }
>
> static const TypeInfo aspeed_soc_ast2600_type_info = {
> diff --git a/hw/arm/aspeed_soc.c b/hw/arm/aspeed_soc.c
> index 58714cb2a01d..15b641da9a36 100644
> --- a/hw/arm/aspeed_soc.c
> +++ b/hw/arm/aspeed_soc.c
> @@ -121,7 +121,7 @@ static const int 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);
>
> @@ -487,6 +487,7 @@ static void aspeed_soc_ast2400_class_init(ObjectClass
> *oc, void *data)
> sc->irqmap = aspeed_soc_ast2400_irqmap;
> sc->memmap = aspeed_soc_ast2400_memmap;
> sc->num_cpus = 1;
> + sc->get_irq = aspeed_soc_ast2400_get_irq;
> }
>
> 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->memmap = aspeed_soc_ast2500_memmap;
> sc->num_cpus = 1;
> + sc->get_irq = aspeed_soc_ast2400_get_irq;
> }
>
> 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_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, ctrl);
> +}
I think “dev” needs to be changed to “ctrl” or vice-versa.
(Compilation failure)
> --
> 2.35.1
>