u8      multi_lun_device_lun_count;
        u8      minimum_good_fw_revision[8];
        u8      unique_inquiry_bytes[20];
-       u8      current_temperature_degreesC;
-       u8      temperature_threshold_degreesC;
-       u8      max_temperature_degreesC;
+       u8      current_temperature_degrees;
+       u8      temperature_threshold_degrees;
+       u8      max_temperature_degrees;
        u8      logical_blocks_per_phys_block_exp;
        __le16  current_queue_depth_limit;
        u8      switch_name[10];
        u8      smart_carrier_authentication;
        u8      smart_carrier_app_fw_version;
        u8      smart_carrier_bootloader_fw_version;
+       u8      sanitize_flags;
+       u8      encryption_key_flags;
        u8      encryption_key_name[64];
        __le32  misc_drive_flags;
        __le16  dek_index;
-       u8      padding[112];
+       __le16  hba_drive_encryption_flags;
+       __le16  max_overwrite_time;
+       __le16  max_block_erase_time;
+       __le16  max_crypto_erase_time;
+       u8      connector_info[5];
+       u8      connector_name[8][8];
+       u8      page_83_identifier[16];
+       u8      maximum_link_rate[256];
+       u8      negotiated_physical_link_rate[256];
+       u8      box_connector_name[8];
+       u8      padding_to_multiple_of_512[9];
 };
 
 #pragma pack()
 
        BUILD_BUG_ON(offsetof(struct bmic_identify_controller,
                controller_mode) != 292);
 
+       BUILD_BUG_ON(offsetof(struct bmic_identify_physical_device,
+               phys_bay_in_box) != 115);
+       BUILD_BUG_ON(offsetof(struct bmic_identify_physical_device,
+               device_type) != 120);
+       BUILD_BUG_ON(offsetof(struct bmic_identify_physical_device,
+               redundant_path_present_map) != 1736);
+       BUILD_BUG_ON(offsetof(struct bmic_identify_physical_device,
+               active_path_number) != 1738);
+       BUILD_BUG_ON(offsetof(struct bmic_identify_physical_device,
+               alternate_paths_phys_connector) != 1739);
+       BUILD_BUG_ON(offsetof(struct bmic_identify_physical_device,
+               alternate_paths_phys_box_on_port) != 1755);
+       BUILD_BUG_ON(offsetof(struct bmic_identify_physical_device,
+               current_queue_depth_limit) != 1796);
+       BUILD_BUG_ON(sizeof(struct bmic_identify_physical_device) != 2560);
+
        BUILD_BUG_ON(PQI_ADMIN_IQ_NUM_ELEMENTS > 255);
        BUILD_BUG_ON(PQI_ADMIN_OQ_NUM_ELEMENTS > 255);
        BUILD_BUG_ON(PQI_ADMIN_IQ_ELEMENT_LENGTH %