diff --git a/src/drivers/wifi/generic/smbios.c b/src/drivers/wifi/generic/smbios.c index 7c697ad68f..793349dad0 100644 --- a/src/drivers/wifi/generic/smbios.c +++ b/src/drivers/wifi/generic/smbios.c @@ -10,14 +10,7 @@ static int smbios_write_intel_wifi(struct device *dev, int *handle, unsigned long *current) { struct smbios_type_intel_wifi { - union { - struct { - u8 type; - u8 length; - u16 handle; - }; - struct smbios_header header; - }; + struct smbios_header header; u8 str; u8 eos[2]; } __packed; diff --git a/src/include/smbios.h b/src/include/smbios.h index edc56f706d..a98023b375 100644 --- a/src/include/smbios.h +++ b/src/include/smbios.h @@ -287,14 +287,7 @@ struct smbios_header { } __packed; struct smbios_type0 { - union { - struct { - u8 type; - u8 length; - u16 handle; - }; - struct smbios_header header; - }; + struct smbios_header header; u8 vendor; u8 bios_version; u16 bios_start_segment; @@ -312,14 +305,7 @@ struct smbios_type0 { } __packed; struct smbios_type1 { - union { - struct { - u8 type; - u8 length; - u16 handle; - }; - struct smbios_header header; - }; + struct smbios_header header; u8 manufacturer; u8 product_name; u8 version; @@ -354,14 +340,7 @@ typedef enum { } smbios_board_type; struct smbios_type2 { - union { - struct { - u8 type; - u8 length; - u16 handle; - }; - struct smbios_header header; - }; + struct smbios_header header; u8 manufacturer; u8 product_name; u8 version; @@ -414,14 +393,7 @@ typedef enum { } smbios_enclosure_type; struct smbios_type3 { - union { - struct { - u8 type; - u8 length; - u16 handle; - }; - struct smbios_header header; - }; + struct smbios_header header; u8 manufacturer; u8 _type; u8 version; @@ -441,14 +413,7 @@ struct smbios_type3 { } __packed; struct smbios_type4 { - union { - struct { - u8 type; - u8 length; - u16 handle; - }; - struct smbios_header header; - }; + struct smbios_header header; u8 socket_designation; u8 processor_type; u8 processor_family; @@ -559,14 +524,7 @@ enum smbios_cache_associativity { #define SMBIOS_CACHE_OP_MODE_UNKNOWN 3 struct smbios_type7 { - union { - struct { - u8 type; - u8 length; - u16 handle; - }; - struct smbios_header header; - }; + struct smbios_header header; u8 socket_designation; u16 cache_configuration; u16 max_cache_size; @@ -680,14 +638,7 @@ struct port_information { }; struct smbios_type8 { - union { - struct { - u8 type; - u8 length; - u16 handle; - }; - struct smbios_header header; - }; + struct smbios_header header; u8 internal_reference_designator; u8 internal_connector_type; u8 external_reference_designator; @@ -822,14 +773,7 @@ struct slot_peer_groups { } __packed; struct smbios_type9 { - union { - struct { - u8 type; - u8 length; - u16 handle; - }; - struct smbios_header header; - }; + struct smbios_header header; u8 slot_designation; u8 slot_type; u8 slot_data_bus_width; @@ -848,27 +792,13 @@ struct smbios_type9 { } __packed; struct smbios_type11 { - union { - struct { - u8 type; - u8 length; - u16 handle; - }; - struct smbios_header header; - }; + struct smbios_header header; u8 count; u8 eos[2]; } __packed; struct smbios_type15 { - union { - struct { - u8 type; - u8 length; - u16 handle; - }; - struct smbios_header header; - }; + struct smbios_header header; u16 area_length; u16 header_offset; u16 data_offset; @@ -898,14 +828,7 @@ enum { #define SMBIOS_USE_EXTENDED_MAX_CAPACITY (1 << 31) struct smbios_type16 { - union { - struct { - u8 type; - u8 length; - u16 handle; - }; - struct smbios_header header; - }; + struct smbios_header header; u8 location; u8 use; u8 memory_error_correction; @@ -917,14 +840,7 @@ struct smbios_type16 { } __packed; struct smbios_type17 { - union { - struct { - u8 type; - u8 length; - u16 handle; - }; - struct smbios_header header; - }; + struct smbios_header header; u16 phys_memory_array_handle; u16 memory_error_information_handle; u16 total_width; @@ -951,14 +867,7 @@ struct smbios_type17 { } __packed; struct smbios_type19 { - union { - struct { - u8 type; - u8 length; - u16 handle; - }; - struct smbios_header header; - }; + struct smbios_header header; u32 starting_address; u32 ending_address; u16 memory_array_handle; @@ -969,28 +878,14 @@ struct smbios_type19 { } __packed; struct smbios_type32 { - union { - struct { - u8 type; - u8 length; - u16 handle; - }; - struct smbios_header header; - }; + struct smbios_header header; u8 reserved[6]; u8 boot_status; u8 eos[2]; } __packed; struct smbios_type38 { - union { - struct { - u8 type; - u8 length; - u16 handle; - }; - struct smbios_header header; - }; + struct smbios_header header; u8 interface_type; u8 ipmi_rev; u8 i2c_slave_addr; @@ -1025,14 +920,7 @@ typedef enum { #define SMBIOS_DEVICE_TYPE_COUNT 10 struct smbios_type41 { - union { - struct { - u8 type; - u8 length; - u16 handle; - }; - struct smbios_header header; - }; + struct smbios_header header; u8 reference_designation; u8 device_type: 7; u8 device_status: 1; @@ -1045,14 +933,7 @@ struct smbios_type41 { } __packed; struct smbios_type127 { - union { - struct { - u8 type; - u8 length; - u16 handle; - }; - struct smbios_header header; - }; + struct smbios_header header; u8 eos[2]; } __packed;