summaryrefslogtreecommitdiffstats
path: root/drivers/scsi/hosts.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/scsi/hosts.c')
-rw-r--r--drivers/scsi/hosts.c18
1 files changed, 14 insertions, 4 deletions
diff --git a/drivers/scsi/hosts.c b/drivers/scsi/hosts.c
index 33aaaeabe..500c19b09 100644
--- a/drivers/scsi/hosts.c
+++ b/drivers/scsi/hosts.c
@@ -9,6 +9,8 @@
* <drew@colorado.edu>
*
* Jiffies wrap fixes (host->resetting), 3 Dec 1998 Andrea Arcangeli
+ * Added QLOGIC QLA1280 SCSI controller kernel host support.
+ * August 4, 1999 Fred Lewis, Intel DuPont
*/
@@ -191,6 +193,10 @@
#include "qlogicfc.h"
#endif
+#ifdef CONFIG_SCSI_QLOGIC_1280
+#include "qla1280.h"
+#endif
+
#ifdef CONFIG_SCSI_SEAGATE
#include "seagate.h"
#endif
@@ -536,6 +542,9 @@ static Scsi_Host_Template builtin_scsi_hosts[] =
#ifdef CONFIG_SCSI_QLOGIC_FC
QLOGICFC,
#endif
+#ifdef CONFIG_SCSI_QLOGIC_1280
+ QLA1280_LINUX_TEMPLATE,
+#endif
#ifdef CONFIG_SCSI_PAS16
MV_PAS16,
#endif
@@ -705,7 +714,7 @@ scsi_unregister(struct Scsi_Host * sh){
}
}
next_scsi_host--;
- scsi_init_free((char *) sh, sizeof(struct Scsi_Host) + sh->extra_bytes);
+ kfree((char *) sh);
}
/* We call this when we come across a new host adapter. We only do this
@@ -715,8 +724,9 @@ scsi_unregister(struct Scsi_Host * sh){
struct Scsi_Host * scsi_register(Scsi_Host_Template * tpnt, int j){
struct Scsi_Host * retval, *shpnt;
- retval = (struct Scsi_Host *)scsi_init_malloc(sizeof(struct Scsi_Host) + j,
- (tpnt->unchecked_isa_dma && j ? GFP_DMA : 0) | GFP_ATOMIC);
+ retval = (struct Scsi_Host *)kmalloc(sizeof(struct Scsi_Host) + j,
+ (tpnt->unchecked_isa_dma && j ? GFP_DMA : 0) | GFP_ATOMIC);
+ memset(retval, 0, sizeof(struct Scsi_Host) + j);
atomic_set(&retval->host_active,0);
retval->host_busy = 0;
retval->host_failed = 0;
@@ -761,7 +771,7 @@ struct Scsi_Host * scsi_register(Scsi_Host_Template * tpnt, int j){
retval->unchecked_isa_dma = tpnt->unchecked_isa_dma;
retval->use_clustering = tpnt->use_clustering;
- retval->select_queue_depths = NULL;
+ retval->select_queue_depths = tpnt->select_queue_depths;
if(!scsi_hostlist)
scsi_hostlist = retval;