sysinfo: Provide a default driver to set SMBIOS values

Some boards want to specify the manufacturer or product name but do not
need to have their own sysinfo driver.

Add a default driver which provides a way to specify this SMBIOS
information in the devicetree, without needing any board-specific
functionality.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
This commit is contained in:
Simon Glass 2020-11-05 06:32:11 -07:00 committed by Bin Meng
parent f969653154
commit 44c74bdd58
4 changed files with 36 additions and 0 deletions

View File

@ -22,4 +22,12 @@ config SYSINFO_SANDBOX
help
Support querying device information for the Sandbox boards.
config SYSINFO_SMBIOS
bool "Provide a default sysinfo driver for SMBIOS information"
help
Some boards want to specify the manufacturer or product name but do
not need to have their own sysinfo driver. This includes a default
one which provides a way to specify this SMBIOS information in the
devicetree, without needing any board-specific functionality.
endif

View File

@ -5,3 +5,4 @@
obj-y += sysinfo-uclass.o
obj-$(CONFIG_SYSINFO_GAZERBEAM) += gazerbeam.o
obj-$(CONFIG_SYSINFO_SANDBOX) += sandbox.o
obj-$(CONFIG_SYSINFO_SMBIOS) += smbios.o

24
drivers/sysinfo/smbios.c Normal file
View File

@ -0,0 +1,24 @@
// SPDX-License-Identifier: GPL-2.0+
/*
* Copyright 2020 Google LLC
* Written by Simon Glass <sjg@chromium.org>
*/
#include <common.h>
#include <dm.h>
#include <sysinfo.h>
static const struct udevice_id sysinfo_smbios_ids[] = {
{ .compatible = "u-boot,sysinfo-smbios" },
{ /* sentinel */ }
};
static const struct sysinfo_ops sysinfo_smbios_ops = {
};
U_BOOT_DRIVER(sysinfo_smbios) = {
.name = "sysinfo_smbios",
.id = UCLASS_SYSINFO,
.of_match = sysinfo_smbios_ids,
.ops = &sysinfo_smbios_ops,
};

View File

@ -658,6 +658,9 @@ config GENERATE_SMBIOS_TABLE
Check http://www.dmtf.org/standards/smbios for details.
See also SMBIOS_SYSINFO which allows SMBIOS values to be provided in
the devicetree.
config SMBIOS_MANUFACTURER
string "SMBIOS Manufacturer"
depends on GENERATE_SMBIOS_TABLE