Re: [PATCH v3 0/4] Obtain SMBIOS and ACPI entry from FFI

From: Palmer Dabbelt
Date: Wed Jul 05 2023 - 10:17:35 EST


On Wed, 05 Jul 2023 04:42:47 PDT (-0700), cuiyunhui@xxxxxxxxxxxxx wrote:
Here's version 3 of patch series.

V1: The FFI (FDT FIRMWARE INTERFACE) scheme has reached a
consensus with the Maintainers.
Please refer to:
https://patches.linaro.org/project/linux-acpi/patch/20230426034001.16-1-cuiyunhui@xxxxxxxxxxxxx/

From looking at that thread it seems that the consensus is this is a bad
idea? Sorry if I'm just missing something...

Changes v1->v2:
Adjusted the code structure, put the ACPI part under the RISC-V architecture,
and put the general part of obtaining SMBIOS entry through FFI
under driver/firmware/.
Please refer to:
https://lore.kernel.org/lkml/20230703-71f67eb66a037f5c0fb825c6@orel/T/

Changes v2->v3:
According to the suggestions of maintainers, the code has been modified as follows:
1. Modified the commit log.
2. Added description of "ffitbl" subnod in dt-bindings.
3. Add stub function to the function
4. arch/riscv/ and driver/firmware/ use CONFIG_FDT_FW_INTERFACE to control
5. Modified the ffi_smbios_root_pointer() function logic and printing
etc.

Yunhui Cui (4):
riscv: obtain ACPI RSDP from devicetree
firmware: introduce FFI for SMBIOS entry
riscv: obtain SMBIOS entry from FFI
dt-bindings: firmware: Document ffitbl binding

.../devicetree/bindings/firmware/ffitbl.txt | 27 ++++++
MAINTAINERS | 13 +++
arch/riscv/include/asm/acpi.h | 9 ++
arch/riscv/include/asm/ffi.h | 14 +++
arch/riscv/kernel/Makefile | 1 +
arch/riscv/kernel/ffi.c | 40 ++++++++
arch/riscv/kernel/setup.c | 2 +
drivers/firmware/Kconfig | 11 +++
drivers/firmware/Makefile | 1 +
drivers/firmware/dmi_scan.c | 97 +++++++++++--------
drivers/firmware/ffi.c | 42 ++++++++
include/linux/ffi.h | 29 ++++++
12 files changed, 246 insertions(+), 40 deletions(-)
create mode 100644 Documentation/devicetree/bindings/firmware/ffitbl.txt
create mode 100644 arch/riscv/include/asm/ffi.h
create mode 100644 arch/riscv/kernel/ffi.c
create mode 100644 drivers/firmware/ffi.c
create mode 100644 include/linux/ffi.h