[PATCH v3 19/30] arm: gic-v3-its: Rename objects

Patrick Rudolph patrick.rudolph at 9elements.com
Thu Sep 12 08:52:25 CEST 2024


On Thu, Sep 12, 2024 at 2:59 AM Simon Glass <sjg at chromium.org> wrote:
>
> Hi Patrick,
>
> On Wed, 11 Sept 2024 at 00:29, Patrick Rudolph
> <patrick.rudolph at 9elements.com> wrote:
> >
> > The code accesses the gic-v3 node, but not the gic-v3-its node,
> > thus rename the objects to clarify which node it operates on.
> >
> > The following commit will make use of the gic-v3-its node for real.
> >
> > Signed-off-by: Patrick Rudolph <patrick.rudolph at 9elements.com>
> > ---
> >  arch/arm/lib/gic-v3-its.c | 10 +++++-----
> >  1 file changed, 5 insertions(+), 5 deletions(-)
>
> Reviewed-by: Simon Glass <sjg at chromium.org>
>
> But how many interrupt controllers are there? Would
> uclass_first_device_err(UCLASS_IRQ) work?
On most GICv2 compatible SBCs there's just one.
With GICv3+ you can have an additional GIC ITS as well, which would
also use class UCLASS_IRQ.
But on servers there even more than two...

I'd prefer the current code as it would work with the follow up commit
that adds another
UCLASS_IRQ driver.

>
> >
> > diff --git a/arch/arm/lib/gic-v3-its.c b/arch/arm/lib/gic-v3-its.c
> > index 2cc0a32f9d..22fa46a341 100644
> > --- a/arch/arm/lib/gic-v3-its.c
> > +++ b/arch/arm/lib/gic-v3-its.c
> > @@ -35,10 +35,10 @@ static int gic_v3_its_get_gic_addr(struct gic_v3_its_priv *priv)
> >         int ret;
> >
> >         ret = uclass_get_device_by_driver(UCLASS_IRQ,
> > -                                         DM_DRIVER_GET(arm_gic_v3_its), &dev);
> > +                                         DM_DRIVER_GET(arm_gic_v3), &dev);
> >         if (ret) {
> >                 pr_err("%s: failed to get %s irq device\n", __func__,
> > -                      DM_DRIVER_GET(arm_gic_v3_its)->name);
> > +                      DM_DRIVER_GET(arm_gic_v3)->name);
> >                 return ret;
> >         }
> >
> > @@ -158,13 +158,13 @@ int gic_lpi_tables_init(u64 base, u32 num_redist)
> >         return 0;
> >  }
> >
> > -static const struct udevice_id gic_v3_its_ids[] = {
> > +static const struct udevice_id gic_v3_ids[] = {
> >         { .compatible = "arm,gic-v3" },
> >         {}
> >  };
> >
> > -U_BOOT_DRIVER(arm_gic_v3_its) = {
> > +U_BOOT_DRIVER(arm_gic_v3) = {
> >         .name           = "gic-v3",
> >         .id             = UCLASS_IRQ,
> > -       .of_match       = gic_v3_its_ids,
> > +       .of_match       = gic_v3_ids,
> >  };
> > --
> > 2.46.0
> >
>
> Regards,
> Simon


More information about the U-Boot mailing list