ACK: [PATCH 7/7] dmi: dmicheck: remove redundant array fwts_dmi_chassis_type
ivanhu
ivan.hu at canonical.com
Tue Jul 31 07:51:07 UTC 2018
On 07/31/2018 02:30 AM, Colin King wrote:
> From: Colin Ian King <colin.king at canonical.com>
>
> Array fwts_dmi_chassis_type is only being used to find the
> maximum number of chassis types. Remove this array and the
> fwts_chassis_type_map struct declaration and replace with
> a macro for the maximum number of chassis types.
>
> Signed-off-by: Colin Ian King <colin.king at canonical.com>
> ---
> src/dmi/dmicheck/dmicheck.c | 48 +----------------------------------
> src/lib/include/fwts_smbios.h | 3 +++
> 2 files changed, 4 insertions(+), 47 deletions(-)
>
> diff --git a/src/dmi/dmicheck/dmicheck.c b/src/dmi/dmicheck/dmicheck.c
> index a911b437..89288ade 100644
> --- a/src/dmi/dmicheck/dmicheck.c
> +++ b/src/dmi/dmicheck/dmicheck.c
> @@ -77,11 +77,6 @@ typedef struct {
> uint16_t new;
> } fwts_dmi_version;
>
> -typedef struct {
> - const char *name;
> - uint8_t original;
> -} fwts_chassis_type_map;
> -
> typedef struct {
> uint8_t type;
> uint8_t offset;
> @@ -212,46 +207,6 @@ static const char *uuid_patterns[] = {
> NULL,
> };
>
> -static const fwts_chassis_type_map fwts_dmi_chassis_type[] = {
> - { "Invalid", FWTS_SMBIOS_CHASSIS_INVALID },
> - { "Other", FWTS_SMBIOS_CHASSIS_OTHER },
> - { "Unknown", FWTS_SMBIOS_CHASSIS_UNKNOWN },
> - { "Desktop", FWTS_SMBIOS_CHASSIS_DESKTOP },
> - { "Low Profile Desktop",FWTS_SMBIOS_CHASSIS_LOW_PROFILE_DESKTOP },
> - { "Pizza Box", FWTS_SMBIOS_CHASSIS_PIZZA_BOX },
> - { "Mini Tower", FWTS_SMBIOS_CHASSIS_MINI_TOWER },
> - { "Chassis Tower", FWTS_SMBIOS_CHASSIS_TOWER },
> - { "Portable", FWTS_SMBIOS_CHASSIS_PORTABLE },
> - { "Laptop", FWTS_SMBIOS_CHASSIS_LAPTOP },
> - { "Notebook", FWTS_SMBIOS_CHASSIS_NOTEBOOK },
> - { "Handheld", FWTS_SMBIOS_CHASSIS_HANDHELD },
> - { "Docking Station", FWTS_SMBIOS_CHASSIS_DOCKING_STATION },
> - { "All In One", FWTS_SMBIOS_CHASSIS_ALL_IN_ONE },
> - { "Sub Notebook", FWTS_SMBIOS_CHASSIS_SUB_NOTEBOOK },
> - { "Space Saving", FWTS_SMBIOS_CHASSIS_SPACE_SAVING },
> - { "Lunch Box", FWTS_SMBIOS_CHASSIS_LUNCH_BOX},
> - { "Server Chassis", FWTS_SMBIOS_CHASSIS_MAIN_SERVER_CHASSIS },
> - { "Expansion Chassis", FWTS_SMBIOS_CHASSIS_EXPANISON_CHASSIS },
> - { "Sub Chassis", FWTS_SMBIOS_CHASSIS_SUB_CHASSIS },
> - { "Bus Expansion Chassis", FWTS_SMBIOS_CHASSIS_BUS_EXPANSION_CHASSIS },
> - { "Peripheral Chassis", FWTS_SMBIOS_CHASSIS_PERIPHERAL_CHASSIS },
> - { "Raid Chassis", FWTS_SMBIOS_CHASSIS_RAID_CHASSIS },
> - { "Rack Mount Chassis", FWTS_SMBIOS_CHASSIS_RACK_MOUNT_CHASSIS },
> - { "Sealed Case PC", FWTS_SMBIOS_CHASSIS_SEALED_CASE_PC },
> - { "Multi System Chassis",FWTS_SMBIOS_CHASSIS_MULTI_SYSTEM_CHASSIS },
> - { "Compact PCI", FWTS_SMBIOS_CHASSIS_COMPACT_PCI },
> - { "Advanced TCA", FWTS_SMBIOS_CHASSIS_ADVANCED_TCA },
> - { "Blade", FWTS_SMBIOS_CHASSIS_BLADE },
> - { "Enclosure", FWTS_SMBIOS_CHASSIS_BLADE_ENCLOSURE },
> - { "Tablet", FWTS_SMBIOS_CHASSIS_TABLET },
> - { "Convertible", FWTS_SMBIOS_CHASSIS_CONVERTIBLE },
> - { "Detachable", FWTS_SMBIOS_CHASSIS_DETACHABLE },
> - { "IoT Gateway", FWTS_SMBIOS_CHASSIS_IOT_GATEWAY },
> - { "Embedded PC", FWTS_SMBIOS_CHASSIS_EMBEDDED_PC },
> - { "Mini PC", FWTS_SMBIOS_CHASSIS_MINI_PC },
> - { "Stick PC", FWTS_SMBIOS_CHASSIS_STICK_PC },
> -};
> -
> /* Remapping table from buggy version numbers to correct values */
> static const fwts_dmi_version dmi_versions[] = {
> { 0x021f, 0x0203 },
> @@ -1180,8 +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) >=
> - (sizeof(fwts_dmi_chassis_type) / sizeof(fwts_chassis_type_map))) {
> + 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 a8bbf08b..f977bb8e 100644
> --- a/src/lib/include/fwts_smbios.h
> +++ b/src/lib/include/fwts_smbios.h
> @@ -65,6 +65,9 @@
> #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)
> +
> typedef enum {
> FWTS_SMBIOS_UNKNOWN = -1,
> FWTS_SMBIOS_DMI_LEGACY = 0,
Acked-by: Ivan Hu <ivan.hu at canonical.com>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.ubuntu.com/archives/fwts-devel/attachments/20180731/749196ba/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 473 bytes
Desc: OpenPGP digital signature
URL: <https://lists.ubuntu.com/archives/fwts-devel/attachments/20180731/749196ba/attachment-0001.sig>
More information about the fwts-devel
mailing list