Hi Michal,

> -----Original Message-----
> From: Michal Simek <michal.si...@xilinx.com>
> Sent: Friday, September 11, 2020 2:52 PM
> To: Arnd Bergmann <a...@arndb.de>; Michal Simek <mich...@xilinx.com>
> Cc: Amit Sunil Dhamne <amits...@xilinx.com>; Ard Biesheuvel
> <ard.biesheu...@linaro.org>; Ingo Molnar <mi...@kernel.org>; gregkh
> <gre...@linuxfoundation.org>; Matt Fleming <m...@codeblueprint.co.uk>;
> Sudeep Holla <sudeep.ho...@arm.com>; Heiner Kallweit
> <hkallwe...@gmail.com>; Kees Cook <keesc...@chromium.org>; Dmitry
> Torokhov <dmitry.torok...@gmail.com>; Rajan Vaja <raj...@xilinx.com>;
> Linux ARM <linux-arm-ker...@lists.infradead.org>; linux-
> ker...@vger.kernel.org; Tejas Patel <tej...@xilinx.com>; Jolly Shah
> <jol...@xilinx.com>; Rajan Vaja <raj...@xilinx.com>
> Subject: Re: [PATCH v2] drivers: soc: xilinx: Call InitFinalize from
> late_initcall_sync instead of probe
> 
> 
> 
> On 10. 09. 20 10:35, Arnd Bergmann wrote:
> > On Thu, Sep 10, 2020 at 8:50 AM Michal Simek <michal.si...@xilinx.com>
> wrote:
> >>> @@ -246,6 +245,23 @@ static int zynqmp_pm_remove(struct
> platform_device *pdev)
> >>>       return 0;
> >>>  }
> >>>
> >>> +static int __init do_init_finalize(void) {
> >>> +     struct device_node *np;
> >>> +
> >>> +     np = of_find_compatible_node(NULL, NULL, "xlnx,zynqmp");
> >>> +     if (!np) {
> >>> +             np = of_find_compatible_node(NULL, NULL, "xlnx,versal");
> >>> +             if (!np)
> >>> +                     return 0;
> >>> +     }
> >>> +     of_node_put(np);
> >>> +
> >>> +     return zynqmp_pm_init_finalize(); }
> >>> +
> >>> +late_initcall_sync(do_init_finalize);
> >>> +
> >>>  static const struct of_device_id pm_of_match[] = {
> >>>       { .compatible = "xlnx,zynqmp-power", },
> >>>       { /* end of table */ },
> >>>
> >>
> >> Arnd: are you fine with this way how to check that it runs on zynqmp
> >> or versal?
> >
> > I might be missing something, but this sounds like the wrong way to do it.
> > There is already a platform driver probed in the presence of the
> > "xlnx,zynqmp-power" node in the same file. Wouldn't it be better to
> > either check for the same node instead of an arbitrarily different set
> > of SoC names, or to make the platform driver itself get registered
> > form the late initcall?
> 
> Rajan/Amit: On the top of my head I expect that you can't call it as late 
> initcall
> because you need the first part earlier.
> 
> Does it make sense to check same node?
> There is and should be only one instance of this driver.
> Isn't it easier just to setup one static variable instead of calling dt 
> functions
> which will take time and result will be the same.
[Rajan Vaja] Yes Michal, that make sense. We will make changes and will submit 
new version.

Thanks,
Rajan
> 
> Thanks,
> Michal

Reply via email to