Hi Rafael, While reviewing "[PATCH v3] ACPI: NUMA: Add a node and memblk for each CFMWS not in SRAT" [1]. I noticed that it was open coding CEDT sub-table parsing in a similar fashion as drivers/cxl/acpi.c. The driver open coded the parsing because the ACPI sub-table helpers are marked __init. In order to avoid the ongoing maintenance burden of a split between "early" and "late" ACPI sub-table parsing this series proposes to make those helpers available to drivers. The savings in drivers/cxl/ are: drivers/cxl/Kconfig | 1 drivers/cxl/acpi.c | 234 +++++++++++++++++++-------------------------------- 2 files changed, 88 insertions(+), 147 deletions(-) ...and 15 lines new code not added are saved in this new version of "ACPI: NUMA: Add a node and memblk for each CFMWS not in SRAT". Let me know if this looks ok to you and I can carry it in the CXL tree (i.e. after the merge window, for v5.17 consideration). [1]: https://lore.kernel.org/r/20211019050908.449231-1-alison.schofield@xxxxxxxxx --- Alison Schofield (1): ACPI: NUMA: Add a node and memblk for each CFMWS not in SRAT Dan Williams (5): ACPI: Keep sub-table parsing infrastructure available for modules ACPI: Teach ACPI table parsing about the CEDT header format ACPI: Add a context argument for table parsing handlers cxl/acpi: Convert CFMWS parsing to ACPI sub-table helpers cxl/test: Mock acpi_table_parse_cedt() drivers/acpi/Kconfig | 3 + drivers/acpi/numa/srat.c | 59 ++++++++++ drivers/acpi/tables.c | 87 +++++++++++---- drivers/cxl/Kconfig | 1 drivers/cxl/acpi.c | 237 ++++++++++++++++------------------------- include/linux/acpi.h | 34 +++++- tools/testing/cxl/Kbuild | 3 - tools/testing/cxl/test/cxl.c | 68 ++++++++---- tools/testing/cxl/test/mock.c | 30 ++--- tools/testing/cxl/test/mock.h | 6 + 10 files changed, 304 insertions(+), 224 deletions(-) base-commit: c6d7e1341cc99ba49df1384c8c5b3f534a5463b1