aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/ipr.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/scsi/ipr.h')
-rw-r--r--drivers/scsi/ipr.h17
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
322struct ipr_ext_vpd64 {
323 struct ipr_vpd vpd;
324 __be32 wwid[4];
325}__attribute__((packed));
326
321struct ipr_std_inq_data { 327struct 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