Re: [PATCH v9 05/15] irqchip/sifive-plic: Convert PLIC driver into a platform driver

From: Anup Patel
Date: Mon Oct 02 2023 - 11:18:30 EST


On Fri, Sep 29, 2023 at 6:02 PM Marc Zyngier <maz@xxxxxxxxxx> wrote:
>
> On Thu, 28 Sep 2023 07:11:57 +0100,
> Anup Patel <apatel@xxxxxxxxxxxxxxxx> wrote:
> >
> > The PLIC driver does not require very early initialization so let
> > us convert it into a platform driver.
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> >
> > As part of the conversion, the PLIC probing undergoes the following
> > changes:
> > 1. Use dev_info(), dev_err() and dev_warn() instead of pr_info(),
> > pr_err() and pr_warn()
> > 2. Use devm_xyz() APIs wherever applicable
> > 3. PLIC is now probed after CPUs are brought-up so we have to
> > setup cpuhp state after context handler of all online CPUs
> > are initialized otherwise we see crash on multi-socket systems
> >
> > Signed-off-by: Anup Patel <apatel@xxxxxxxxxxxxxxxx>
> > ---
> > drivers/irqchip/irq-sifive-plic.c | 242 +++++++++++++++++++-----------
> > 1 file changed, 154 insertions(+), 88 deletions(-)
> >
>
> [...]
>
> > +core_initcall(plic_init);
>
> Or not. There are only two choices: either you absolutely require
> early init, and you stick with the current situation, or you don't,
> and you can rely on dependencies.
>
> I'm not prepared to have a third option.

This is not required for DT based platform driver probing so
I will use builtin_platform_driver() over here and in APLIC
as well as IMSIC platform drivers.

Regards,
Anup

>
> M.
>
> --
> Without deviation from the norm, progress is not possible.