diff options
author | Mark Haverkamp <markh@linux-foundation.org> | 2007-01-23 18:00:30 -0500 |
---|---|---|
committer | James Bottomley <jejb@mulgrave.il.steeleye.com> | 2007-01-27 10:27:52 -0500 |
commit | e8f32de52c0d74d397d21afc655a4e2a7dfe1f98 (patch) | |
tree | 1f6d561100327dec1e01f9d8cc6dc487586ad386 /drivers/scsi/aacraid/aacraid.h | |
parent | 239eab19559b3d74a029dff3f0c792bc0770a062 (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.h | 18 |
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 | ||
487 | struct aac_dev; | 487 | struct aac_dev; |
488 | struct fib; | 488 | struct fib; |
489 | struct scsi_cmnd; | ||
489 | 490 | ||
490 | struct adapter_ops | 491 | struct 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 | ||
1786 | struct 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 |