On Fri, 2013-08-02 at 17:14 +0800, Tang Chen wrote: > This patch introduce early_acpi_firmware_srat() to find the > phys addr of SRAT provided by firmware. And call it in > find_hotpluggable_memory(). > > Since we have initialized acpi_gbl_root_table_list earlier, > and store all the tables' phys addrs and signatures in it, > it is easy to find the SRAT. > > Signed-off-by: Tang Chen <tangchen@xxxxxxxxxxxxxx> > Reviewed-by: Zhang Yanfei <zhangyanfei@xxxxxxxxxxxxxx> > --- > drivers/acpi/acpica/tbxface.c | 32 ++++++++++++++++++++++++++++++++ > drivers/acpi/osl.c | 22 ++++++++++++++++++++++ > include/acpi/acpixf.h | 4 ++++ > include/linux/acpi.h | 4 ++++ > mm/memory_hotplug.c | 8 ++++++-- > 5 files changed, 68 insertions(+), 2 deletions(-) > > diff --git a/drivers/acpi/acpica/tbxface.c b/drivers/acpi/acpica/tbxface.c Please add "ACPICA" to the patch title. This patch also needs to be reviewed by ACPICA folks. > index ad11162..6a92f12 100644 > --- a/drivers/acpi/acpica/tbxface.c > +++ b/drivers/acpi/acpica/tbxface.c : > diff --git a/drivers/acpi/osl.c b/drivers/acpi/osl.c > index dcbca3e..ec490fe 100644 > --- a/drivers/acpi/osl.c > +++ b/drivers/acpi/osl.c > @@ -53,6 +53,7 @@ > #include <acpi/acpi.h> > #include <acpi/acpi_bus.h> > #include <acpi/processor.h> > +#include <acpi/acpixf.h> > > #define _COMPONENT ACPI_OS_SERVICES > ACPI_MODULE_NAME("osl"); > @@ -760,6 +761,27 @@ void __init acpi_initrd_override(void *data, size_t size) > } > #endif /* CONFIG_ACPI_INITRD_TABLE_OVERRIDE */ > > +#ifdef CONFIG_ACPI_NUMA > +/******************************************************************************* > + * > + * FUNCTION: early_acpi_firmware_srat > + * > + * RETURN: Phys addr of SRAT on success, 0 on error. > + * > + * DESCRIPTION: Get the phys addr of SRAT provided by firmware. > + * > + ******************************************************************************/ > +phys_addr_t __init early_acpi_firmware_srat(void) > +{ > + struct acpi_table_desc table_desc; > + > + if (acpi_get_table_desc(ACPI_SIG_SRAT, &table_desc)) This check should use ACPI_FAILURE() macro: if (ACPI_FAILURE(acpi_get_table_desc(ACPI_SIG_SRAT, &table_desc)) Thanks, -Toshi -- To unsubscribe from this list: send the line "unsubscribe linux-doc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html