diff options
author | Angel Pons <th3fanbus@gmail.com> | 2021-09-03 16:51:40 +0200 |
---|---|---|
committer | Patrick Georgi <pgeorgi@google.com> | 2021-11-04 10:25:09 +0000 |
commit | 437da71d0a9c7f397860efd02ddb03de9fd5b874 (patch) | |
tree | 8664294850b1b7985440819f00359c00220c59fc /util/sconfig/sconfig.tab.h_shipped | |
parent | bb03e763de0a69265976463b07dbe8226608c6ff (diff) |
SMBIOS/SCONFIG: Allow devtree-defined Type 41 entries
Introduce the `smbios_dev_info` devicetree keyword to specify the
instance ID and RefDes (Reference Designation) of onboard devices.
Example syntax:
device pci 1c.0 on # PCIe Port #1
device pci 00.0 on
smbios_dev_info 6
end
end
device pci 1c.1 on # PCIe Port #2
device pci 00.0 on
smbios_dev_info 42 "PCIe-PCI Time Machine"
end
end
The `SMBIOS_TYPE41_PROVIDED_BY_DEVTREE` Kconfig option enables using
this syntax to control the generated Type 41 entries. When this option
is enabled, Type 41 entries are only autogenerated for devices with a
defined instance ID. This avoids having to keep track of which instance
IDs have been used for every device class.
Using `smbios_dev_info` when `SMBIOS_TYPE41_PROVIDED_BY_DEVTREE` is not
enabled will result in a build-time error, as the syntax is meaningless
in this case. This is done with preprocessor guards around the Type 41
members in `struct device` and the code which uses the guarded members.
Although the preprocessor usage isn't particularly elegant, adjusting
the devicetree syntax and/or grammar depending on a Kconfig option is
probably even worse.
Change-Id: Iecca9ada6ee1000674cb5dd7afd5c309d8e1a64b
Signed-off-by: Angel Pons <th3fanbus@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/57370
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Tim Wawrzynczak <twawrzynczak@chromium.org>
Reviewed-by: Nico Huber <nico.h@gmx.de>
Diffstat (limited to 'util/sconfig/sconfig.tab.h_shipped')
-rw-r--r-- | util/sconfig/sconfig.tab.h_shipped | 45 |
1 files changed, 24 insertions, 21 deletions
diff --git a/util/sconfig/sconfig.tab.h_shipped b/util/sconfig/sconfig.tab.h_shipped index 1d96a35ab6..fb14adcf1d 100644 --- a/util/sconfig/sconfig.tab.h_shipped +++ b/util/sconfig/sconfig.tab.h_shipped @@ -1,4 +1,4 @@ -/* A Bison parser, made by GNU Bison 3.7.6. */ +/* A Bison parser, made by GNU Bison 3.8.1. */ /* Bison interface for Yacc-like parsers in C @@ -35,8 +35,8 @@ especially those whose name start with YY_ or yy_. They are private implementation details that can be changed or removed. */ -#ifndef YY_YY_HOME_ICON_COREBOOT_UTIL_SCONFIG_SCONFIG_TAB_H_SHIPPED_INCLUDED -# define YY_YY_HOME_ICON_COREBOOT_UTIL_SCONFIG_SCONFIG_TAB_H_SHIPPED_INCLUDED +#ifndef YY_YY_HOME_USUARIO_COREBOOT_UTIL_SCONFIG_SCONFIG_TAB_H_SHIPPED_INCLUDED +# define YY_YY_HOME_USUARIO_COREBOOT_UTIL_SCONFIG_SCONFIG_TAB_H_SHIPPED_INCLUDED /* Debug traces. */ #ifndef YYDEBUG # define YYDEBUG 0 @@ -79,23 +79,24 @@ extern int yydebug; IRQ = 280, /* IRQ */ DRQ = 281, /* DRQ */ SLOT_DESC = 282, /* SLOT_DESC */ - IO = 283, /* IO */ - NUMBER = 284, /* NUMBER */ - SUBSYSTEMID = 285, /* SUBSYSTEMID */ - INHERIT = 286, /* INHERIT */ - IOAPIC_IRQ = 287, /* IOAPIC_IRQ */ - IOAPIC = 288, /* IOAPIC */ - PCIINT = 289, /* PCIINT */ - GENERIC = 290, /* GENERIC */ - SPI = 291, /* SPI */ - USB = 292, /* USB */ - MMIO = 293, /* MMIO */ - GPIO = 294, /* GPIO */ - FW_CONFIG_TABLE = 295, /* FW_CONFIG_TABLE */ - FW_CONFIG_FIELD = 296, /* FW_CONFIG_FIELD */ - FW_CONFIG_OPTION = 297, /* FW_CONFIG_OPTION */ - FW_CONFIG_PROBE = 298, /* FW_CONFIG_PROBE */ - PIPE = 299 /* PIPE */ + SMBIOS_DEV_INFO = 283, /* SMBIOS_DEV_INFO */ + IO = 284, /* IO */ + NUMBER = 285, /* NUMBER */ + SUBSYSTEMID = 286, /* SUBSYSTEMID */ + INHERIT = 287, /* INHERIT */ + IOAPIC_IRQ = 288, /* IOAPIC_IRQ */ + IOAPIC = 289, /* IOAPIC */ + PCIINT = 290, /* PCIINT */ + GENERIC = 291, /* GENERIC */ + SPI = 292, /* SPI */ + USB = 293, /* USB */ + MMIO = 294, /* MMIO */ + GPIO = 295, /* GPIO */ + FW_CONFIG_TABLE = 296, /* FW_CONFIG_TABLE */ + FW_CONFIG_FIELD = 297, /* FW_CONFIG_FIELD */ + FW_CONFIG_OPTION = 298, /* FW_CONFIG_OPTION */ + FW_CONFIG_PROBE = 299, /* FW_CONFIG_PROBE */ + PIPE = 300 /* PIPE */ }; typedef enum yytokentype yytoken_kind_t; #endif @@ -120,6 +121,8 @@ typedef union YYSTYPE YYSTYPE; extern YYSTYPE yylval; + int yyparse (void); -#endif /* !YY_YY_HOME_ICON_COREBOOT_UTIL_SCONFIG_SCONFIG_TAB_H_SHIPPED_INCLUDED */ + +#endif /* !YY_YY_HOME_USUARIO_COREBOOT_UTIL_SCONFIG_SCONFIG_TAB_H_SHIPPED_INCLUDED */ |