On Mon, Aug 21, 2023 at 05:02:20PM +0530, Kartik wrote: > On Fri, 2023-08-18 at 16:21 +0300, Andy Shevchenko wrote: ... > >> void tegra_init_revision(void); > >> void tegra_init_apbmisc(void); > >> +void tegra_acpi_init_apbmisc(void); > > > >Why do you need a separate function? > > Function tegra_init_apbmisc() is called from tegra_init_fuse() which > is invoked at early init and it also has `__init` keyword. If we use > the same function for both ACPI/DT, then we will get init section > mismatches when the Tegra Fuse driver probes using ACPI. > > We can use the same function by dropping the `init` keyword. But > the way we are getting the resources for device-tree and on ACPI is > slightly different. Hence, I kept a separate function for ACPI > and move the common bits to a function shared between > tegra_init_apbmisc() and tegra_acpi_init_apbmisc(). So, you mean that behaviour is different for ACPI and DT cases. Then obvious question why DT case can't be delayed to not so early stage to be run? This requires some explanations, more than given in the commit message and here. -- With Best Regards, Andy Shevchenko