diff options
Diffstat (limited to 'drivers/scsi/ipr.h')
-rw-r--r-- | drivers/scsi/ipr.h | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/drivers/scsi/ipr.h b/drivers/scsi/ipr.h index 4d31625ab9cf..aa8bb2f2c6ee 100644 --- a/drivers/scsi/ipr.h +++ b/drivers/scsi/ipr.h | |||
@@ -26,6 +26,7 @@ | |||
26 | #ifndef _IPR_H | 26 | #ifndef _IPR_H |
27 | #define _IPR_H | 27 | #define _IPR_H |
28 | 28 | ||
29 | #include <asm/unaligned.h> | ||
29 | #include <linux/types.h> | 30 | #include <linux/types.h> |
30 | #include <linux/completion.h> | 31 | #include <linux/completion.h> |
31 | #include <linux/libata.h> | 32 | #include <linux/libata.h> |
@@ -37,8 +38,8 @@ | |||
37 | /* | 38 | /* |
38 | * Literals | 39 | * Literals |
39 | */ | 40 | */ |
40 | #define IPR_DRIVER_VERSION "2.5.0" | 41 | #define IPR_DRIVER_VERSION "2.5.1" |
41 | #define IPR_DRIVER_DATE "(February 11, 2010)" | 42 | #define IPR_DRIVER_DATE "(August 10, 2010)" |
42 | 43 | ||
43 | /* | 44 | /* |
44 | * IPR_MAX_CMD_PER_LUN: This defines the maximum number of outstanding | 45 | * IPR_MAX_CMD_PER_LUN: This defines the maximum number of outstanding |
@@ -318,6 +319,11 @@ struct ipr_ext_vpd { | |||
318 | __be32 wwid[2]; | 319 | __be32 wwid[2]; |
319 | }__attribute__((packed)); | 320 | }__attribute__((packed)); |
320 | 321 | ||
322 | struct ipr_ext_vpd64 { | ||
323 | struct ipr_vpd vpd; | ||
324 | __be32 wwid[4]; | ||
325 | }__attribute__((packed)); | ||
326 | |||
321 | struct ipr_std_inq_data { | 327 | struct ipr_std_inq_data { |
322 | u8 peri_qual_dev_type; | 328 | u8 peri_qual_dev_type; |
323 | #define IPR_STD_INQ_PERI_QUAL(peri) ((peri) >> 5) | 329 | #define IPR_STD_INQ_PERI_QUAL(peri) ((peri) >> 5) |
@@ -372,7 +378,7 @@ struct ipr_config_table_entry { | |||
372 | 378 | ||
373 | struct ipr_res_addr res_addr; | 379 | struct ipr_res_addr res_addr; |
374 | __be32 res_handle; | 380 | __be32 res_handle; |
375 | __be32 reserved4[2]; | 381 | __be32 lun_wwn[2]; |
376 | struct ipr_std_inq_data std_inq_data; | 382 | struct ipr_std_inq_data std_inq_data; |
377 | }__attribute__ ((packed, aligned (4))); | 383 | }__attribute__ ((packed, aligned (4))); |
378 | 384 | ||
@@ -394,7 +400,7 @@ struct ipr_config_table_entry64 { | |||
394 | __be64 res_path; | 400 | __be64 res_path; |
395 | struct ipr_std_inq_data std_inq_data; | 401 | struct ipr_std_inq_data std_inq_data; |
396 | u8 reserved2[4]; | 402 | u8 reserved2[4]; |
397 | __be64 reserved3[2]; // description text | 403 | __be64 reserved3[2]; |
398 | u8 reserved4[8]; | 404 | u8 reserved4[8]; |
399 | }__attribute__ ((packed, aligned (8))); | 405 | }__attribute__ ((packed, aligned (8))); |
400 | 406 | ||
@@ -913,7 +919,7 @@ struct ipr_hostrcb_type_24_error { | |||
913 | u8 array_id; | 919 | u8 array_id; |
914 | u8 last_res_path[8]; | 920 | u8 last_res_path[8]; |
915 | u8 protection_level[8]; | 921 | u8 protection_level[8]; |
916 | struct ipr_ext_vpd array_vpd; | 922 | struct ipr_ext_vpd64 array_vpd; |
917 | u8 description[16]; | 923 | u8 description[16]; |
918 | u8 reserved2[3]; | 924 | u8 reserved2[3]; |
919 | u8 num_entries; | 925 | u8 num_entries; |
@@ -1210,6 +1216,7 @@ struct ipr_resource_entry { | |||
1210 | 1216 | ||
1211 | __be32 res_handle; | 1217 | __be32 res_handle; |
1212 | __be64 dev_id; | 1218 | __be64 dev_id; |
1219 | __be64 lun_wwn; | ||
1213 | struct scsi_lun dev_lun; | 1220 | struct scsi_lun dev_lun; |
1214 | u8 res_path[8]; | 1221 | u8 res_path[8]; |
1215 | 1222 | ||