Commit f14d4f58 authored by Doug Ledford's avatar Doug Ledford

[PATCH] SCSI update

drivers/scsi/esp.c:
  Fix the build.
scsi.h:
  Add struct list_head items for future (but soon) use
hosts.h:
  Remove select_queue_depths from host struct, add struct list
  stuff for proper list linking of host structs
hosts.c:
  Don't touch select_queue_depths any longer
parent 491e5fa1
...@@ -229,7 +229,6 @@ struct Scsi_Host * scsi_register(Scsi_Host_Template * tpnt, int j) ...@@ -229,7 +229,6 @@ struct Scsi_Host * scsi_register(Scsi_Host_Template * tpnt, int j)
if (!blk_nohighio) if (!blk_nohighio)
retval->highmem_io = tpnt->highmem_io; retval->highmem_io = tpnt->highmem_io;
retval->select_queue_depths = tpnt->select_queue_depths;
retval->max_sectors = tpnt->max_sectors; retval->max_sectors = tpnt->max_sectors;
retval->use_blk_tcq = tpnt->use_blk_tcq; retval->use_blk_tcq = tpnt->use_blk_tcq;
......
...@@ -384,6 +384,8 @@ struct Scsi_Host ...@@ -384,6 +384,8 @@ struct Scsi_Host
*/ */
struct Scsi_Host * next; struct Scsi_Host * next;
Scsi_Device * host_queue; Scsi_Device * host_queue;
struct list_head all_scsi_hosts;
struct list_head my_devices;
spinlock_t default_lock; spinlock_t default_lock;
spinlock_t *host_lock; spinlock_t *host_lock;
...@@ -489,8 +491,6 @@ struct Scsi_Host ...@@ -489,8 +491,6 @@ struct Scsi_Host
*/ */
unsigned int max_host_blocked; unsigned int max_host_blocked;
void (*select_queue_depths)(struct Scsi_Host *, Scsi_Device *);
/* /*
* For SCSI hosts which are PCI devices, set pci_dev so that * For SCSI hosts which are PCI devices, set pci_dev so that
* we can do BIOS EDD 3.0 mappings * we can do BIOS EDD 3.0 mappings
......
...@@ -556,12 +556,16 @@ struct scsi_device { ...@@ -556,12 +556,16 @@ struct scsi_device {
*/ */
struct scsi_device *next; /* Used for linked list */ struct scsi_device *next; /* Used for linked list */
struct scsi_device *prev; /* Used for linked list */ struct scsi_device *prev; /* Used for linked list */
struct list_head siblings; /* list of all devices on this host */
struct list_head same_target_siblings; /* just the devices sharing same target id */
wait_queue_head_t scpnt_wait; /* Used to wait if wait_queue_head_t scpnt_wait; /* Used to wait if
device is busy */ device is busy */
struct Scsi_Host *host; struct Scsi_Host *host;
request_queue_t request_queue; request_queue_t request_queue;
atomic_t device_active; /* commands checked out for device */ atomic_t device_active; /* commands checked out for device */
volatile unsigned short device_busy; /* commands actually active on low-level */ volatile unsigned short device_busy; /* commands actually active on low-level */
struct list_head free_cmnds; /* list of available Scsi_Cmnd structs */
struct list_head busy_cmnds; /* list of Scsi_Cmnd structs in use */
Scsi_Cmnd *device_queue; /* queue of SCSI Command structures */ Scsi_Cmnd *device_queue; /* queue of SCSI Command structures */
Scsi_Cmnd *current_cmnd; /* currently active command */ Scsi_Cmnd *current_cmnd; /* currently active command */
unsigned short queue_depth; /* How deep of a queue we have */ unsigned short queue_depth; /* How deep of a queue we have */
...@@ -711,6 +715,7 @@ struct scsi_cmnd { ...@@ -711,6 +715,7 @@ struct scsi_cmnd {
Scsi_Request *sc_request; Scsi_Request *sc_request;
struct scsi_cmnd *next; struct scsi_cmnd *next;
struct scsi_cmnd *reset_chain; struct scsi_cmnd *reset_chain;
struct list_head list_entry; /* Used to place us on the cmd lists */
int eh_state; /* Used for state tracking in error handlr */ int eh_state; /* Used for state tracking in error handlr */
int eh_eflags; /* Used by error handlr */ int eh_eflags; /* Used by error handlr */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment