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 | ||
