Message ID | 1533058756-19171-1-git-send-email-alex.hung@canonical.com |
---|---|
State | Accepted |
Headers | show |
Series | lib: dmicheck: replace defines by enum type | expand |
On 31/07/18 18:39, Alex Hung wrote: > This also eliminates the needs to update FWTS_SMBIOS_CHASSIS_MAX if > SMBIOS spec introduces new chassis types. > > Signed-off-by: Alex Hung <alex.hung@canonical.com> > --- > src/dmi/dmicheck/dmicheck.c | 2 +- > src/lib/include/fwts_smbios.h | 82 ++++++++++++++++++++++--------------------- > 2 files changed, 43 insertions(+), 41 deletions(-) > > diff --git a/src/dmi/dmicheck/dmicheck.c b/src/dmi/dmicheck/dmicheck.c > index 89288ad..8497c2a 100644 > --- a/src/dmi/dmicheck/dmicheck.c > +++ b/src/dmi/dmicheck/dmicheck.c > @@ -1135,7 +1135,7 @@ static void dmicheck_entry(fwts_framework *fw, > dmi_str_check(fw, table, addr, "Manufacturer", hdr, 0x4); > dmi_min_max_mask_uint8_check(fw, table, addr, "Chassis Type", hdr, 0x5, 0x1, 0x24, 0x0, 0x7f); > > - if ((data[5] & ~0x80) > FWTS_SMBIOS_CHASSIS_MAX) { > + if ((data[5] & ~0x80) >= FWTS_SMBIOS_CHASSIS_MAX) { > fwts_failed(fw, LOG_LEVEL_HIGH, DMI_INVALID_HARDWARE_ENTRY, > "Incorrect Chassis Type " > "SMBIOS Type 3 reports 0x%" PRIx8, > diff --git a/src/lib/include/fwts_smbios.h b/src/lib/include/fwts_smbios.h > index f977bb8..05f1d5f 100644 > --- a/src/lib/include/fwts_smbios.h > +++ b/src/lib/include/fwts_smbios.h > @@ -27,46 +27,48 @@ > #define FWTS_SMBIOS_REGION_END (0x000fffff) > #define FWTS_SMBIOS_REGION_SIZE (FWTS_SMBIOS_REGION_END - FWTS_SMBIOS_REGION_START) > > -#define FWTS_SMBIOS_CHASSIS_INVALID (0x00) > -#define FWTS_SMBIOS_CHASSIS_OTHER (0X01) > -#define FWTS_SMBIOS_CHASSIS_UNKNOWN (0x02) > -#define FWTS_SMBIOS_CHASSIS_DESKTOP (0x03) > -#define FWTS_SMBIOS_CHASSIS_LOW_PROFILE_DESKTOP (0x04) > -#define FWTS_SMBIOS_CHASSIS_PIZZA_BOX (0x05) > -#define FWTS_SMBIOS_CHASSIS_MINI_TOWER (0x06) > -#define FWTS_SMBIOS_CHASSIS_TOWER (0x07) > -#define FWTS_SMBIOS_CHASSIS_PORTABLE (0x08) > -#define FWTS_SMBIOS_CHASSIS_LAPTOP (0x09) > -#define FWTS_SMBIOS_CHASSIS_NOTEBOOK (0x0A) > -#define FWTS_SMBIOS_CHASSIS_HANDHELD (0x0B) > -#define FWTS_SMBIOS_CHASSIS_DOCKING_STATION (0x0C) > -#define FWTS_SMBIOS_CHASSIS_ALL_IN_ONE (0x0D) > -#define FWTS_SMBIOS_CHASSIS_SUB_NOTEBOOK (0x0E) > -#define FWTS_SMBIOS_CHASSIS_SPACE_SAVING (0x0F) > -#define FWTS_SMBIOS_CHASSIS_LUNCH_BOX (0x10) > -#define FWTS_SMBIOS_CHASSIS_MAIN_SERVER_CHASSIS (0x11) > -#define FWTS_SMBIOS_CHASSIS_EXPANISON_CHASSIS (0x12) > -#define FWTS_SMBIOS_CHASSIS_SUB_CHASSIS (0x13) > -#define FWTS_SMBIOS_CHASSIS_BUS_EXPANSION_CHASSIS (0x14) > -#define FWTS_SMBIOS_CHASSIS_PERIPHERAL_CHASSIS (0x15) > -#define FWTS_SMBIOS_CHASSIS_RAID_CHASSIS (0x16) > -#define FWTS_SMBIOS_CHASSIS_RACK_MOUNT_CHASSIS (0x17) > -#define FWTS_SMBIOS_CHASSIS_SEALED_CASE_PC (0x18) > -#define FWTS_SMBIOS_CHASSIS_MULTI_SYSTEM_CHASSIS (0x19) > -#define FWTS_SMBIOS_CHASSIS_COMPACT_PCI (0x1A) > -#define FWTS_SMBIOS_CHASSIS_ADVANCED_TCA (0x1B) > -#define FWTS_SMBIOS_CHASSIS_BLADE (0x1C) > -#define FWTS_SMBIOS_CHASSIS_BLADE_ENCLOSURE (0x1D) > -#define FWTS_SMBIOS_CHASSIS_TABLET (0x1E) > -#define FWTS_SMBIOS_CHASSIS_CONVERTIBLE (0x1F) > -#define FWTS_SMBIOS_CHASSIS_DETACHABLE (0x20) > -#define FWTS_SMBIOS_CHASSIS_IOT_GATEWAY (0x21) > -#define FWTS_SMBIOS_CHASSIS_EMBEDDED_PC (0x22) > -#define FWTS_SMBIOS_CHASSIS_MINI_PC (0x23) > -#define FWTS_SMBIOS_CHASSIS_STICK_PC (0x24) > - > -/* Always update this to the last FWTS_SMBIOS_CHASSIS type */ > -#define FWTS_SMBIOS_CHASSIS_MAX (FWTS_SMBIOS_CHASSIS_STICK_PC) > +/* SMBIOS chassis in type 3 (Table 17 - System Enclosure or Chassis Types) */ > +enum { > + FWTS_SMBIOS_CHASSIS_INVALID, > + FWTS_SMBIOS_CHASSIS_OTHER, > + FWTS_SMBIOS_CHASSIS_UNKNOWN, > + FWTS_SMBIOS_CHASSIS_DESKTOP, > + FWTS_SMBIOS_CHASSIS_LOW_PROFILE_DESKTOP, > + FWTS_SMBIOS_CHASSIS_PIZZA_BOX, > + FWTS_SMBIOS_CHASSIS_MINI_TOWER, > + FWTS_SMBIOS_CHASSIS_TOWER, > + FWTS_SMBIOS_CHASSIS_PORTABLE, > + FWTS_SMBIOS_CHASSIS_LAPTOP, > + FWTS_SMBIOS_CHASSIS_NOTEBOOK, > + FWTS_SMBIOS_CHASSIS_HANDHELD, > + FWTS_SMBIOS_CHASSIS_DOCKING_STATION, > + FWTS_SMBIOS_CHASSIS_ALL_IN_ONE, > + FWTS_SMBIOS_CHASSIS_SUB_NOTEBOOK, > + FWTS_SMBIOS_CHASSIS_SPACE_SAVING, > + FWTS_SMBIOS_CHASSIS_LUNCH_BOX, > + FWTS_SMBIOS_CHASSIS_MAIN_SERVER_CHASSIS, > + FWTS_SMBIOS_CHASSIS_EXPANISON_CHASSIS, > + FWTS_SMBIOS_CHASSIS_SUB_CHASSIS, > + FWTS_SMBIOS_CHASSIS_BUS_EXPANSION_CHASSIS, > + FWTS_SMBIOS_CHASSIS_PERIPHERAL_CHASSIS, > + FWTS_SMBIOS_CHASSIS_RAID_CHASSIS, > + FWTS_SMBIOS_CHASSIS_RACK_MOUNT_CHASSIS, > + FWTS_SMBIOS_CHASSIS_SEALED_CASE_PC, > + FWTS_SMBIOS_CHASSIS_MULTI_SYSTEM_CHASSIS, > + FWTS_SMBIOS_CHASSIS_COMPACT_PCI, > + FWTS_SMBIOS_CHASSIS_ADVANCED_TCA, > + FWTS_SMBIOS_CHASSIS_BLADE, > + FWTS_SMBIOS_CHASSIS_BLADE_ENCLOSURE, > + FWTS_SMBIOS_CHASSIS_TABLET, > + FWTS_SMBIOS_CHASSIS_CONVERTIBLE, > + FWTS_SMBIOS_CHASSIS_DETACHABLE, > + FWTS_SMBIOS_CHASSIS_IOT_GATEWAY, > + FWTS_SMBIOS_CHASSIS_EMBEDDED_PC, > + FWTS_SMBIOS_CHASSIS_MINI_PC, > + FWTS_SMBIOS_CHASSIS_STICK_PC, > + /* end of the chassis types */ > + FWTS_SMBIOS_CHASSIS_MAX > +}; > > typedef enum { > FWTS_SMBIOS_UNKNOWN = -1, > Good idea! Acked-by: Colin Ian King <colin.king@canonical.com>
On 08/01/2018 01:39 AM, Alex Hung wrote: > This also eliminates the needs to update FWTS_SMBIOS_CHASSIS_MAX if > SMBIOS spec introduces new chassis types. > > Signed-off-by: Alex Hung <alex.hung@canonical.com> > --- > src/dmi/dmicheck/dmicheck.c | 2 +- > src/lib/include/fwts_smbios.h | 82 ++++++++++++++++++++++--------------------- > 2 files changed, 43 insertions(+), 41 deletions(-) > > diff --git a/src/dmi/dmicheck/dmicheck.c b/src/dmi/dmicheck/dmicheck.c > index 89288ad..8497c2a 100644 > --- a/src/dmi/dmicheck/dmicheck.c > +++ b/src/dmi/dmicheck/dmicheck.c > @@ -1135,7 +1135,7 @@ static void dmicheck_entry(fwts_framework *fw, > dmi_str_check(fw, table, addr, "Manufacturer", hdr, 0x4); > dmi_min_max_mask_uint8_check(fw, table, addr, "Chassis Type", hdr, 0x5, 0x1, 0x24, 0x0, 0x7f); > > - if ((data[5] & ~0x80) > FWTS_SMBIOS_CHASSIS_MAX) { > + if ((data[5] & ~0x80) >= FWTS_SMBIOS_CHASSIS_MAX) { > fwts_failed(fw, LOG_LEVEL_HIGH, DMI_INVALID_HARDWARE_ENTRY, > "Incorrect Chassis Type " > "SMBIOS Type 3 reports 0x%" PRIx8, > diff --git a/src/lib/include/fwts_smbios.h b/src/lib/include/fwts_smbios.h > index f977bb8..05f1d5f 100644 > --- a/src/lib/include/fwts_smbios.h > +++ b/src/lib/include/fwts_smbios.h > @@ -27,46 +27,48 @@ > #define FWTS_SMBIOS_REGION_END (0x000fffff) > #define FWTS_SMBIOS_REGION_SIZE (FWTS_SMBIOS_REGION_END - FWTS_SMBIOS_REGION_START) > > -#define FWTS_SMBIOS_CHASSIS_INVALID (0x00) > -#define FWTS_SMBIOS_CHASSIS_OTHER (0X01) > -#define FWTS_SMBIOS_CHASSIS_UNKNOWN (0x02) > -#define FWTS_SMBIOS_CHASSIS_DESKTOP (0x03) > -#define FWTS_SMBIOS_CHASSIS_LOW_PROFILE_DESKTOP (0x04) > -#define FWTS_SMBIOS_CHASSIS_PIZZA_BOX (0x05) > -#define FWTS_SMBIOS_CHASSIS_MINI_TOWER (0x06) > -#define FWTS_SMBIOS_CHASSIS_TOWER (0x07) > -#define FWTS_SMBIOS_CHASSIS_PORTABLE (0x08) > -#define FWTS_SMBIOS_CHASSIS_LAPTOP (0x09) > -#define FWTS_SMBIOS_CHASSIS_NOTEBOOK (0x0A) > -#define FWTS_SMBIOS_CHASSIS_HANDHELD (0x0B) > -#define FWTS_SMBIOS_CHASSIS_DOCKING_STATION (0x0C) > -#define FWTS_SMBIOS_CHASSIS_ALL_IN_ONE (0x0D) > -#define FWTS_SMBIOS_CHASSIS_SUB_NOTEBOOK (0x0E) > -#define FWTS_SMBIOS_CHASSIS_SPACE_SAVING (0x0F) > -#define FWTS_SMBIOS_CHASSIS_LUNCH_BOX (0x10) > -#define FWTS_SMBIOS_CHASSIS_MAIN_SERVER_CHASSIS (0x11) > -#define FWTS_SMBIOS_CHASSIS_EXPANISON_CHASSIS (0x12) > -#define FWTS_SMBIOS_CHASSIS_SUB_CHASSIS (0x13) > -#define FWTS_SMBIOS_CHASSIS_BUS_EXPANSION_CHASSIS (0x14) > -#define FWTS_SMBIOS_CHASSIS_PERIPHERAL_CHASSIS (0x15) > -#define FWTS_SMBIOS_CHASSIS_RAID_CHASSIS (0x16) > -#define FWTS_SMBIOS_CHASSIS_RACK_MOUNT_CHASSIS (0x17) > -#define FWTS_SMBIOS_CHASSIS_SEALED_CASE_PC (0x18) > -#define FWTS_SMBIOS_CHASSIS_MULTI_SYSTEM_CHASSIS (0x19) > -#define FWTS_SMBIOS_CHASSIS_COMPACT_PCI (0x1A) > -#define FWTS_SMBIOS_CHASSIS_ADVANCED_TCA (0x1B) > -#define FWTS_SMBIOS_CHASSIS_BLADE (0x1C) > -#define FWTS_SMBIOS_CHASSIS_BLADE_ENCLOSURE (0x1D) > -#define FWTS_SMBIOS_CHASSIS_TABLET (0x1E) > -#define FWTS_SMBIOS_CHASSIS_CONVERTIBLE (0x1F) > -#define FWTS_SMBIOS_CHASSIS_DETACHABLE (0x20) > -#define FWTS_SMBIOS_CHASSIS_IOT_GATEWAY (0x21) > -#define FWTS_SMBIOS_CHASSIS_EMBEDDED_PC (0x22) > -#define FWTS_SMBIOS_CHASSIS_MINI_PC (0x23) > -#define FWTS_SMBIOS_CHASSIS_STICK_PC (0x24) > - > -/* Always update this to the last FWTS_SMBIOS_CHASSIS type */ > -#define FWTS_SMBIOS_CHASSIS_MAX (FWTS_SMBIOS_CHASSIS_STICK_PC) > +/* SMBIOS chassis in type 3 (Table 17 - System Enclosure or Chassis Types) */ > +enum { > + FWTS_SMBIOS_CHASSIS_INVALID, > + FWTS_SMBIOS_CHASSIS_OTHER, > + FWTS_SMBIOS_CHASSIS_UNKNOWN, > + FWTS_SMBIOS_CHASSIS_DESKTOP, > + FWTS_SMBIOS_CHASSIS_LOW_PROFILE_DESKTOP, > + FWTS_SMBIOS_CHASSIS_PIZZA_BOX, > + FWTS_SMBIOS_CHASSIS_MINI_TOWER, > + FWTS_SMBIOS_CHASSIS_TOWER, > + FWTS_SMBIOS_CHASSIS_PORTABLE, > + FWTS_SMBIOS_CHASSIS_LAPTOP, > + FWTS_SMBIOS_CHASSIS_NOTEBOOK, > + FWTS_SMBIOS_CHASSIS_HANDHELD, > + FWTS_SMBIOS_CHASSIS_DOCKING_STATION, > + FWTS_SMBIOS_CHASSIS_ALL_IN_ONE, > + FWTS_SMBIOS_CHASSIS_SUB_NOTEBOOK, > + FWTS_SMBIOS_CHASSIS_SPACE_SAVING, > + FWTS_SMBIOS_CHASSIS_LUNCH_BOX, > + FWTS_SMBIOS_CHASSIS_MAIN_SERVER_CHASSIS, > + FWTS_SMBIOS_CHASSIS_EXPANISON_CHASSIS, > + FWTS_SMBIOS_CHASSIS_SUB_CHASSIS, > + FWTS_SMBIOS_CHASSIS_BUS_EXPANSION_CHASSIS, > + FWTS_SMBIOS_CHASSIS_PERIPHERAL_CHASSIS, > + FWTS_SMBIOS_CHASSIS_RAID_CHASSIS, > + FWTS_SMBIOS_CHASSIS_RACK_MOUNT_CHASSIS, > + FWTS_SMBIOS_CHASSIS_SEALED_CASE_PC, > + FWTS_SMBIOS_CHASSIS_MULTI_SYSTEM_CHASSIS, > + FWTS_SMBIOS_CHASSIS_COMPACT_PCI, > + FWTS_SMBIOS_CHASSIS_ADVANCED_TCA, > + FWTS_SMBIOS_CHASSIS_BLADE, > + FWTS_SMBIOS_CHASSIS_BLADE_ENCLOSURE, > + FWTS_SMBIOS_CHASSIS_TABLET, > + FWTS_SMBIOS_CHASSIS_CONVERTIBLE, > + FWTS_SMBIOS_CHASSIS_DETACHABLE, > + FWTS_SMBIOS_CHASSIS_IOT_GATEWAY, > + FWTS_SMBIOS_CHASSIS_EMBEDDED_PC, > + FWTS_SMBIOS_CHASSIS_MINI_PC, > + FWTS_SMBIOS_CHASSIS_STICK_PC, > + /* end of the chassis types */ > + FWTS_SMBIOS_CHASSIS_MAX > +}; > > typedef enum { > FWTS_SMBIOS_UNKNOWN = -1, Acked-by: Ivan Hu <ivan.hu@canonical.com>
diff --git a/src/dmi/dmicheck/dmicheck.c b/src/dmi/dmicheck/dmicheck.c index 89288ad..8497c2a 100644 --- a/src/dmi/dmicheck/dmicheck.c +++ b/src/dmi/dmicheck/dmicheck.c @@ -1135,7 +1135,7 @@ static void dmicheck_entry(fwts_framework *fw, dmi_str_check(fw, table, addr, "Manufacturer", hdr, 0x4); dmi_min_max_mask_uint8_check(fw, table, addr, "Chassis Type", hdr, 0x5, 0x1, 0x24, 0x0, 0x7f); - if ((data[5] & ~0x80) > FWTS_SMBIOS_CHASSIS_MAX) { + if ((data[5] & ~0x80) >= FWTS_SMBIOS_CHASSIS_MAX) { fwts_failed(fw, LOG_LEVEL_HIGH, DMI_INVALID_HARDWARE_ENTRY, "Incorrect Chassis Type " "SMBIOS Type 3 reports 0x%" PRIx8, diff --git a/src/lib/include/fwts_smbios.h b/src/lib/include/fwts_smbios.h index f977bb8..05f1d5f 100644 --- a/src/lib/include/fwts_smbios.h +++ b/src/lib/include/fwts_smbios.h @@ -27,46 +27,48 @@ #define FWTS_SMBIOS_REGION_END (0x000fffff) #define FWTS_SMBIOS_REGION_SIZE (FWTS_SMBIOS_REGION_END - FWTS_SMBIOS_REGION_START) -#define FWTS_SMBIOS_CHASSIS_INVALID (0x00) -#define FWTS_SMBIOS_CHASSIS_OTHER (0X01) -#define FWTS_SMBIOS_CHASSIS_UNKNOWN (0x02) -#define FWTS_SMBIOS_CHASSIS_DESKTOP (0x03) -#define FWTS_SMBIOS_CHASSIS_LOW_PROFILE_DESKTOP (0x04) -#define FWTS_SMBIOS_CHASSIS_PIZZA_BOX (0x05) -#define FWTS_SMBIOS_CHASSIS_MINI_TOWER (0x06) -#define FWTS_SMBIOS_CHASSIS_TOWER (0x07) -#define FWTS_SMBIOS_CHASSIS_PORTABLE (0x08) -#define FWTS_SMBIOS_CHASSIS_LAPTOP (0x09) -#define FWTS_SMBIOS_CHASSIS_NOTEBOOK (0x0A) -#define FWTS_SMBIOS_CHASSIS_HANDHELD (0x0B) -#define FWTS_SMBIOS_CHASSIS_DOCKING_STATION (0x0C) -#define FWTS_SMBIOS_CHASSIS_ALL_IN_ONE (0x0D) -#define FWTS_SMBIOS_CHASSIS_SUB_NOTEBOOK (0x0E) -#define FWTS_SMBIOS_CHASSIS_SPACE_SAVING (0x0F) -#define FWTS_SMBIOS_CHASSIS_LUNCH_BOX (0x10) -#define FWTS_SMBIOS_CHASSIS_MAIN_SERVER_CHASSIS (0x11) -#define FWTS_SMBIOS_CHASSIS_EXPANISON_CHASSIS (0x12) -#define FWTS_SMBIOS_CHASSIS_SUB_CHASSIS (0x13) -#define FWTS_SMBIOS_CHASSIS_BUS_EXPANSION_CHASSIS (0x14) -#define FWTS_SMBIOS_CHASSIS_PERIPHERAL_CHASSIS (0x15) -#define FWTS_SMBIOS_CHASSIS_RAID_CHASSIS (0x16) -#define FWTS_SMBIOS_CHASSIS_RACK_MOUNT_CHASSIS (0x17) -#define FWTS_SMBIOS_CHASSIS_SEALED_CASE_PC (0x18) -#define FWTS_SMBIOS_CHASSIS_MULTI_SYSTEM_CHASSIS (0x19) -#define FWTS_SMBIOS_CHASSIS_COMPACT_PCI (0x1A) -#define FWTS_SMBIOS_CHASSIS_ADVANCED_TCA (0x1B) -#define FWTS_SMBIOS_CHASSIS_BLADE (0x1C) -#define FWTS_SMBIOS_CHASSIS_BLADE_ENCLOSURE (0x1D) -#define FWTS_SMBIOS_CHASSIS_TABLET (0x1E) -#define FWTS_SMBIOS_CHASSIS_CONVERTIBLE (0x1F) -#define FWTS_SMBIOS_CHASSIS_DETACHABLE (0x20) -#define FWTS_SMBIOS_CHASSIS_IOT_GATEWAY (0x21) -#define FWTS_SMBIOS_CHASSIS_EMBEDDED_PC (0x22) -#define FWTS_SMBIOS_CHASSIS_MINI_PC (0x23) -#define FWTS_SMBIOS_CHASSIS_STICK_PC (0x24) - -/* Always update this to the last FWTS_SMBIOS_CHASSIS type */ -#define FWTS_SMBIOS_CHASSIS_MAX (FWTS_SMBIOS_CHASSIS_STICK_PC) +/* SMBIOS chassis in type 3 (Table 17 - System Enclosure or Chassis Types) */ +enum { + FWTS_SMBIOS_CHASSIS_INVALID, + FWTS_SMBIOS_CHASSIS_OTHER, + FWTS_SMBIOS_CHASSIS_UNKNOWN, + FWTS_SMBIOS_CHASSIS_DESKTOP, + FWTS_SMBIOS_CHASSIS_LOW_PROFILE_DESKTOP, + FWTS_SMBIOS_CHASSIS_PIZZA_BOX, + FWTS_SMBIOS_CHASSIS_MINI_TOWER, + FWTS_SMBIOS_CHASSIS_TOWER, + FWTS_SMBIOS_CHASSIS_PORTABLE, + FWTS_SMBIOS_CHASSIS_LAPTOP, + FWTS_SMBIOS_CHASSIS_NOTEBOOK, + FWTS_SMBIOS_CHASSIS_HANDHELD, + FWTS_SMBIOS_CHASSIS_DOCKING_STATION, + FWTS_SMBIOS_CHASSIS_ALL_IN_ONE, + FWTS_SMBIOS_CHASSIS_SUB_NOTEBOOK, + FWTS_SMBIOS_CHASSIS_SPACE_SAVING, + FWTS_SMBIOS_CHASSIS_LUNCH_BOX, + FWTS_SMBIOS_CHASSIS_MAIN_SERVER_CHASSIS, + FWTS_SMBIOS_CHASSIS_EXPANISON_CHASSIS, + FWTS_SMBIOS_CHASSIS_SUB_CHASSIS, + FWTS_SMBIOS_CHASSIS_BUS_EXPANSION_CHASSIS, + FWTS_SMBIOS_CHASSIS_PERIPHERAL_CHASSIS, + FWTS_SMBIOS_CHASSIS_RAID_CHASSIS, + FWTS_SMBIOS_CHASSIS_RACK_MOUNT_CHASSIS, + FWTS_SMBIOS_CHASSIS_SEALED_CASE_PC, + FWTS_SMBIOS_CHASSIS_MULTI_SYSTEM_CHASSIS, + FWTS_SMBIOS_CHASSIS_COMPACT_PCI, + FWTS_SMBIOS_CHASSIS_ADVANCED_TCA, + FWTS_SMBIOS_CHASSIS_BLADE, + FWTS_SMBIOS_CHASSIS_BLADE_ENCLOSURE, + FWTS_SMBIOS_CHASSIS_TABLET, + FWTS_SMBIOS_CHASSIS_CONVERTIBLE, + FWTS_SMBIOS_CHASSIS_DETACHABLE, + FWTS_SMBIOS_CHASSIS_IOT_GATEWAY, + FWTS_SMBIOS_CHASSIS_EMBEDDED_PC, + FWTS_SMBIOS_CHASSIS_MINI_PC, + FWTS_SMBIOS_CHASSIS_STICK_PC, + /* end of the chassis types */ + FWTS_SMBIOS_CHASSIS_MAX +}; typedef enum { FWTS_SMBIOS_UNKNOWN = -1,
This also eliminates the needs to update FWTS_SMBIOS_CHASSIS_MAX if SMBIOS spec introduces new chassis types. Signed-off-by: Alex Hung <alex.hung@canonical.com> --- src/dmi/dmicheck/dmicheck.c | 2 +- src/lib/include/fwts_smbios.h | 82 ++++++++++++++++++++++--------------------- 2 files changed, 43 insertions(+), 41 deletions(-)