aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/aacraid/aacraid.h
diff options
context:
space:
mode:
authorMark Haverkamp <markh@linux-foundation.org>2007-01-23 18:00:30 -0500
committerJames Bottomley <jejb@mulgrave.il.steeleye.com>2007-01-27 10:27:52 -0500
commite8f32de52c0d74d397d21afc655a4e2a7dfe1f98 (patch)
tree1f6d561100327dec1e01f9d8cc6dc487586ad386 /drivers/scsi/aacraid/aacraid.h
parent239eab19559b3d74a029dff3f0c792bc0770a062 (diff)
[SCSI] aacraid: rework packet support code
Received from Mark Salyzyn, Replace all if/else packet formations with platform function calls. This is in recognition of the proliferation of read and write packet types, and in the need to migrate to up-and-coming packets for new products. Signed-off-by Mark Haverkamp <markh@linux-foundation.org> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Diffstat (limited to 'drivers/scsi/aacraid/aacraid.h')
-rw-r--r--drivers/scsi/aacraid/aacraid.h18
1 files changed, 17 insertions, 1 deletions
diff --git a/drivers/scsi/aacraid/aacraid.h b/drivers/scsi/aacraid/aacraid.h
index bdbd81e73f18..39ecd0d22eb0 100644
--- a/drivers/scsi/aacraid/aacraid.h
+++ b/drivers/scsi/aacraid/aacraid.h
@@ -486,6 +486,7 @@ enum aac_log_level {
486 486
487struct aac_dev; 487struct aac_dev;
488struct fib; 488struct fib;
489struct scsi_cmnd;
489 490
490struct adapter_ops 491struct adapter_ops
491{ 492{
@@ -501,6 +502,10 @@ struct adapter_ops
501 irqreturn_t (*adapter_intr)(int irq, void *dev_id); 502 irqreturn_t (*adapter_intr)(int irq, void *dev_id);
502 /* Packet operations */ 503 /* Packet operations */
503 int (*adapter_deliver)(struct fib * fib); 504 int (*adapter_deliver)(struct fib * fib);
505 int (*adapter_bounds)(struct aac_dev * dev, struct scsi_cmnd * cmd, u64 lba);
506 int (*adapter_read)(struct fib * fib, struct scsi_cmnd * cmd, u64 lba, u32 count);
507 int (*adapter_write)(struct fib * fib, struct scsi_cmnd * cmd, u64 lba, u32 count);
508 int (*adapter_scsi)(struct fib * fib, struct scsi_cmnd * cmd);
504 /* Administrative operations */ 509 /* Administrative operations */
505 int (*adapter_comm)(struct aac_dev * dev, int comm); 510 int (*adapter_comm)(struct aac_dev * dev, int comm);
506}; 511};
@@ -1061,6 +1066,18 @@ struct aac_dev
1061#define aac_adapter_deliver(fib) \ 1066#define aac_adapter_deliver(fib) \
1062 ((fib)->dev)->a_ops.adapter_deliver(fib) 1067 ((fib)->dev)->a_ops.adapter_deliver(fib)
1063 1068
1069#define aac_adapter_bounds(dev,cmd,lba) \
1070 dev->a_ops.adapter_bounds(dev,cmd,lba)
1071
1072#define aac_adapter_read(fib,cmd,lba,count) \
1073 ((fib)->dev)->a_ops.adapter_read(fib,cmd,lba,count)
1074
1075#define aac_adapter_write(fib,cmd,lba,count) \
1076 ((fib)->dev)->a_ops.adapter_write(fib,cmd,lba,count)
1077
1078#define aac_adapter_scsi(fib,cmd) \
1079 ((fib)->dev)->a_ops.adapter_scsi(fib,cmd)
1080
1064#define aac_adapter_comm(dev,comm) \ 1081#define aac_adapter_comm(dev,comm) \
1065 (dev)->a_ops.adapter_comm(dev, comm) 1082 (dev)->a_ops.adapter_comm(dev, comm)
1066 1083
@@ -1783,7 +1800,6 @@ static inline u32 cap_to_cyls(sector_t capacity, u32 divisor)
1783 return (u32)capacity; 1800 return (u32)capacity;
1784} 1801}
1785 1802
1786struct scsi_cmnd;
1787/* SCp.phase values */ 1803/* SCp.phase values */
1788#define AAC_OWNER_MIDLEVEL 0x101 1804#define AAC_OWNER_MIDLEVEL 0x101
1789#define AAC_OWNER_LOWLEVEL 0x102 1805#define AAC_OWNER_LOWLEVEL 0x102