[PATCH v4 07/13] sysinfo: Provide a default driver to set SMBIOS values
Bin Meng
bmeng.cn at gmail.com
Tue Nov 3 09:51:42 CET 2020
On Thu, Oct 22, 2020 at 10:21 PM Simon Glass <sjg at chromium.org> wrote:
>
> Some boards want to specify the manuafacture or product name but do not
typo: manufacturer
> 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 at chromium.org>
> ---
>
> (no changes since v1)
>
> drivers/sysinfo/Kconfig | 8 ++++++++
> drivers/sysinfo/Makefile | 1 +
> drivers/sysinfo/smbios.c | 24 ++++++++++++++++++++++++
> lib/Kconfig | 3 +++
> 4 files changed, 36 insertions(+)
> create mode 100644 drivers/sysinfo/smbios.c
>
> diff --git a/drivers/sysinfo/Kconfig b/drivers/sysinfo/Kconfig
> index 39141500a05..ee55b6206f4 100644
> --- a/drivers/sysinfo/Kconfig
> +++ b/drivers/sysinfo/Kconfig
> @@ -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 manuafacture or product name but do
typo: manufacturer
> + 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
> diff --git a/drivers/sysinfo/Makefile b/drivers/sysinfo/Makefile
> index aecf0b0d47c..6d04fcba1d1 100644
> --- a/drivers/sysinfo/Makefile
> +++ b/drivers/sysinfo/Makefile
> @@ -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
> diff --git a/drivers/sysinfo/smbios.c b/drivers/sysinfo/smbios.c
> new file mode 100644
> index 00000000000..80ebd1921d8
> --- /dev/null
> +++ b/drivers/sysinfo/smbios.c
> @@ -0,0 +1,24 @@
> +// SPDX-License-Identifier: GPL-2.0+
> +/*
> + * Copyright 2020 Google LLC
> + * Written by Simon Glass <sjg at 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,
> +};
> diff --git a/lib/Kconfig b/lib/Kconfig
> index 37aae73a266..ab2fa3cc706 100644
> --- a/lib/Kconfig
> +++ b/lib/Kconfig
> @@ -644,6 +644,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
Otherwise,
Reviewed-by: Bin Meng <bmeng.cn at gmail.com>
More information about the U-Boot
mailing list