Message ID | 20230130182225.2471414-22-sunilvl@ventanamicro.com |
---|---|
State | New |
Headers | show |
Series | Add basic ACPI support for RISC-V | expand |
On Mon, Jan 30, 2023 at 11:52:22PM +0530, Sunil V L wrote: > Initialize ACPI tables for RISC-V during boot. > > Signed-off-by: Sunil V L <sunilvl@ventanamicro.com> > --- > arch/riscv/kernel/setup.c | 19 ++++++++++++++----- > 1 file changed, 14 insertions(+), 5 deletions(-) > > diff --git a/arch/riscv/kernel/setup.c b/arch/riscv/kernel/setup.c > index 4335f08ffaf2..5b4ad1baf664 100644 > --- a/arch/riscv/kernel/setup.c > +++ b/arch/riscv/kernel/setup.c > @@ -8,6 +8,7 @@ > * Nick Kossifidis <mick@ics.forth.gr> > */ > > +#include <linux/acpi.h> > #include <linux/init.h> > #include <linux/mm.h> > #include <linux/memblock.h> > @@ -276,14 +277,22 @@ void __init setup_arch(char **cmdline_p) > > efi_init(); > paging_init(); > + > + /* Parse the ACPI tables for possible boot-time configuration */ > + acpi_boot_table_init(); > + if (acpi_disabled) { > #if IS_ENABLED(CONFIG_BUILTIN_DTB) I only poked it with a stick, but I think this `#if IS_ENABLED()` can be changed to a normal `if (IS_ENABLED())` while you're already modifying this code. > - unflatten_and_copy_device_tree(); > + unflatten_and_copy_device_tree(); > #else > - if (early_init_dt_verify(__va(XIP_FIXUP(dtb_early_pa)))) > - unflatten_device_tree(); > - else > - pr_err("No DTB found in kernel mappings\n"); > + if (early_init_dt_verify(__va(XIP_FIXUP(dtb_early_pa)))) > + unflatten_device_tree(); > + else > + pr_err("No DTB found in kernel mappings\n"); > #endif > + } else { > + early_init_dt_verify(__va(XIP_FIXUP(dtb_early_pa))); > + } > + > early_init_fdt_scan_reserved_mem(); > misc_mem_init(); > > -- > 2.38.0 >
On Thu, Feb 09, 2023 at 09:53:59PM +0000, Conor Dooley wrote: > On Mon, Jan 30, 2023 at 11:52:22PM +0530, Sunil V L wrote: > > Initialize ACPI tables for RISC-V during boot. > > > > Signed-off-by: Sunil V L <sunilvl@ventanamicro.com> > > --- > > arch/riscv/kernel/setup.c | 19 ++++++++++++++----- > > 1 file changed, 14 insertions(+), 5 deletions(-) > > > > diff --git a/arch/riscv/kernel/setup.c b/arch/riscv/kernel/setup.c > > index 4335f08ffaf2..5b4ad1baf664 100644 > > --- a/arch/riscv/kernel/setup.c > > +++ b/arch/riscv/kernel/setup.c > > @@ -8,6 +8,7 @@ > > * Nick Kossifidis <mick@ics.forth.gr> > > */ > > > > +#include <linux/acpi.h> > > #include <linux/init.h> > > #include <linux/mm.h> > > #include <linux/memblock.h> > > @@ -276,14 +277,22 @@ void __init setup_arch(char **cmdline_p) > > > > efi_init(); > > paging_init(); > > + > > + /* Parse the ACPI tables for possible boot-time configuration */ > > + acpi_boot_table_init(); > > + if (acpi_disabled) { > > #if IS_ENABLED(CONFIG_BUILTIN_DTB) > > I only poked it with a stick, but I think this `#if IS_ENABLED()` can > be changed to a normal `if (IS_ENABLED())` while you're already > modifying this code. > Sure, Thanks Sunil
diff --git a/arch/riscv/kernel/setup.c b/arch/riscv/kernel/setup.c index 4335f08ffaf2..5b4ad1baf664 100644 --- a/arch/riscv/kernel/setup.c +++ b/arch/riscv/kernel/setup.c @@ -8,6 +8,7 @@ * Nick Kossifidis <mick@ics.forth.gr> */ +#include <linux/acpi.h> #include <linux/init.h> #include <linux/mm.h> #include <linux/memblock.h> @@ -276,14 +277,22 @@ void __init setup_arch(char **cmdline_p) efi_init(); paging_init(); + + /* Parse the ACPI tables for possible boot-time configuration */ + acpi_boot_table_init(); + if (acpi_disabled) { #if IS_ENABLED(CONFIG_BUILTIN_DTB) - unflatten_and_copy_device_tree(); + unflatten_and_copy_device_tree(); #else - if (early_init_dt_verify(__va(XIP_FIXUP(dtb_early_pa)))) - unflatten_device_tree(); - else - pr_err("No DTB found in kernel mappings\n"); + if (early_init_dt_verify(__va(XIP_FIXUP(dtb_early_pa)))) + unflatten_device_tree(); + else + pr_err("No DTB found in kernel mappings\n"); #endif + } else { + early_init_dt_verify(__va(XIP_FIXUP(dtb_early_pa))); + } + early_init_fdt_scan_reserved_mem(); misc_mem_init();
Initialize ACPI tables for RISC-V during boot. Signed-off-by: Sunil V L <sunilvl@ventanamicro.com> --- arch/riscv/kernel/setup.c | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-)