Message ID | 20240430092200.2335887-5-rrichter@amd.com |
---|---|
State | Superseded |
Headers | show |
Series | SRAT/CEDT fixes and updates | expand |
On Tue, 30 Apr 2024 11:21:57 +0200 Robert Richter <rrichter@amd.com> wrote: > After removing architectural code the helper function > acpi_numa_memory_affinity_init() is no longer needed. Squash it into > acpi_parse_memory_affinity(). No functional changes intended. > > While at it, fixing checkpatch complaints in code moved. > > Reported-by: kernel test robot <oliver.sang@intel.com> > Closes: https://lore.kernel.org/oe-lkp/202403220943.96dde419-oliver.sang@intel.com > Reviewed-by: Dan Williams <dan.j.williams@intel.com> > Signed-off-by: Robert Richter <rrichter@amd.com> Looks good to me. Printing an SRAT entry we then throw away is a bit odd but it always did that. Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
On Tue, Apr 30, 2024 at 11:21:57AM +0200, Robert Richter wrote: > After removing architectural code the helper function > acpi_numa_memory_affinity_init() is no longer needed. Squash it into > acpi_parse_memory_affinity(). No functional changes intended. > > While at it, fixing checkpatch complaints in code moved. > Reviewed-by: Alison Schofield <alison.schofield@intel.com> > Reported-by: kernel test robot <oliver.sang@intel.com> > Closes: https://lore.kernel.org/oe-lkp/202403220943.96dde419-oliver.sang@intel.com > Reviewed-by: Dan Williams <dan.j.williams@intel.com> > Signed-off-by: Robert Richter <rrichter@amd.com> > --- > drivers/acpi/numa/srat.c | 40 +++++++++++++++++----------------------- > 1 file changed, 17 insertions(+), 23 deletions(-) > > diff --git a/drivers/acpi/numa/srat.c b/drivers/acpi/numa/srat.c > index 430ddcfb8312..e3f26e71637a 100644 > --- a/drivers/acpi/numa/srat.c > +++ b/drivers/acpi/numa/srat.c > @@ -248,22 +248,30 @@ static int __init acpi_parse_slit(struct acpi_table_header *table) > return 0; > } > > +static int parsed_numa_memblks __initdata; > + > static int __init > -acpi_numa_memory_affinity_init(struct acpi_srat_mem_affinity *ma) > +acpi_parse_memory_affinity(union acpi_subtable_headers *header, > + const unsigned long table_end) > { > + struct acpi_srat_mem_affinity *ma; > u64 start, end; > u32 hotpluggable; > int node, pxm; > > + ma = (struct acpi_srat_mem_affinity *)header; > + > + acpi_table_print_srat_entry(&header->common); > + > if (srat_disabled()) > - goto out_err; > + return 0; > if (ma->header.length < sizeof(struct acpi_srat_mem_affinity)) { > pr_err("SRAT: Unexpected header length: %d\n", > ma->header.length); > goto out_err_bad_srat; > } > if ((ma->flags & ACPI_SRAT_MEM_ENABLED) == 0) > - goto out_err; > + return 0; > hotpluggable = IS_ENABLED(CONFIG_MEMORY_HOTPLUG) && > (ma->flags & ACPI_SRAT_MEM_HOT_PLUGGABLE); > > @@ -301,11 +309,15 @@ acpi_numa_memory_affinity_init(struct acpi_srat_mem_affinity *ma) > > max_possible_pfn = max(max_possible_pfn, PFN_UP(end - 1)); > > + parsed_numa_memblks++; > + > return 0; > + > out_err_bad_srat: > + /* Just disable SRAT, but do not fail and ignore errors. */ > bad_srat(); > -out_err: > - return -EINVAL; > + > + return 0; > } > > static int __init acpi_parse_cfmws(union acpi_subtable_headers *header, > @@ -438,24 +450,6 @@ acpi_parse_gi_affinity(union acpi_subtable_headers *header, > } > #endif /* defined(CONFIG_X86) || defined (CONFIG_ARM64) */ > > -static int __initdata parsed_numa_memblks; > - > -static int __init > -acpi_parse_memory_affinity(union acpi_subtable_headers * header, > - const unsigned long end) > -{ > - struct acpi_srat_mem_affinity *memory_affinity; > - > - memory_affinity = (struct acpi_srat_mem_affinity *)header; > - > - acpi_table_print_srat_entry(&header->common); > - > - /* let architecture-dependent part to do it */ > - if (!acpi_numa_memory_affinity_init(memory_affinity)) > - parsed_numa_memblks++; > - return 0; > -} > - > static int __init acpi_parse_srat(struct acpi_table_header *table) > { > struct acpi_table_srat *srat = (struct acpi_table_srat *)table; > -- > 2.39.2 >
diff --git a/drivers/acpi/numa/srat.c b/drivers/acpi/numa/srat.c index 430ddcfb8312..e3f26e71637a 100644 --- a/drivers/acpi/numa/srat.c +++ b/drivers/acpi/numa/srat.c @@ -248,22 +248,30 @@ static int __init acpi_parse_slit(struct acpi_table_header *table) return 0; } +static int parsed_numa_memblks __initdata; + static int __init -acpi_numa_memory_affinity_init(struct acpi_srat_mem_affinity *ma) +acpi_parse_memory_affinity(union acpi_subtable_headers *header, + const unsigned long table_end) { + struct acpi_srat_mem_affinity *ma; u64 start, end; u32 hotpluggable; int node, pxm; + ma = (struct acpi_srat_mem_affinity *)header; + + acpi_table_print_srat_entry(&header->common); + if (srat_disabled()) - goto out_err; + return 0; if (ma->header.length < sizeof(struct acpi_srat_mem_affinity)) { pr_err("SRAT: Unexpected header length: %d\n", ma->header.length); goto out_err_bad_srat; } if ((ma->flags & ACPI_SRAT_MEM_ENABLED) == 0) - goto out_err; + return 0; hotpluggable = IS_ENABLED(CONFIG_MEMORY_HOTPLUG) && (ma->flags & ACPI_SRAT_MEM_HOT_PLUGGABLE); @@ -301,11 +309,15 @@ acpi_numa_memory_affinity_init(struct acpi_srat_mem_affinity *ma) max_possible_pfn = max(max_possible_pfn, PFN_UP(end - 1)); + parsed_numa_memblks++; + return 0; + out_err_bad_srat: + /* Just disable SRAT, but do not fail and ignore errors. */ bad_srat(); -out_err: - return -EINVAL; + + return 0; } static int __init acpi_parse_cfmws(union acpi_subtable_headers *header, @@ -438,24 +450,6 @@ acpi_parse_gi_affinity(union acpi_subtable_headers *header, } #endif /* defined(CONFIG_X86) || defined (CONFIG_ARM64) */ -static int __initdata parsed_numa_memblks; - -static int __init -acpi_parse_memory_affinity(union acpi_subtable_headers * header, - const unsigned long end) -{ - struct acpi_srat_mem_affinity *memory_affinity; - - memory_affinity = (struct acpi_srat_mem_affinity *)header; - - acpi_table_print_srat_entry(&header->common); - - /* let architecture-dependent part to do it */ - if (!acpi_numa_memory_affinity_init(memory_affinity)) - parsed_numa_memblks++; - return 0; -} - static int __init acpi_parse_srat(struct acpi_table_header *table) { struct acpi_table_srat *srat = (struct acpi_table_srat *)table;