aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/53c700.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/scsi/53c700.c')
-rw-r--r--drivers/scsi/53c700.c19
1 files changed, 8 insertions, 11 deletions
diff --git a/drivers/scsi/53c700.c b/drivers/scsi/53c700.c
index b767918b9a98..4958c3b93c30 100644
--- a/drivers/scsi/53c700.c
+++ b/drivers/scsi/53c700.c
@@ -316,7 +316,7 @@ NCR_700_detect(struct scsi_host_template *tpnt,
316 BUG_ON(!dma_is_consistent(pScript) && L1_CACHE_BYTES < dma_get_cache_alignment()); 316 BUG_ON(!dma_is_consistent(pScript) && L1_CACHE_BYTES < dma_get_cache_alignment());
317 hostdata->slots = (struct NCR_700_command_slot *)(memory + SLOTS_OFFSET); 317 hostdata->slots = (struct NCR_700_command_slot *)(memory + SLOTS_OFFSET);
318 hostdata->dev = dev; 318 hostdata->dev = dev;
319 319
320 pSlots = pScript + SLOTS_OFFSET; 320 pSlots = pScript + SLOTS_OFFSET;
321 321
322 /* Fill in the missing routines from the host template */ 322 /* Fill in the missing routines from the host template */
@@ -332,19 +332,18 @@ NCR_700_detect(struct scsi_host_template *tpnt,
332 tpnt->slave_destroy = NCR_700_slave_destroy; 332 tpnt->slave_destroy = NCR_700_slave_destroy;
333 tpnt->change_queue_depth = NCR_700_change_queue_depth; 333 tpnt->change_queue_depth = NCR_700_change_queue_depth;
334 tpnt->change_queue_type = NCR_700_change_queue_type; 334 tpnt->change_queue_type = NCR_700_change_queue_type;
335 335
336 if(tpnt->name == NULL) 336 if(tpnt->name == NULL)
337 tpnt->name = "53c700"; 337 tpnt->name = "53c700";
338 if(tpnt->proc_name == NULL) 338 if(tpnt->proc_name == NULL)
339 tpnt->proc_name = "53c700"; 339 tpnt->proc_name = "53c700";
340
341 340
342 host = scsi_host_alloc(tpnt, 4); 341 host = scsi_host_alloc(tpnt, 4);
343 if (!host) 342 if (!host)
344 return NULL; 343 return NULL;
345 memset(hostdata->slots, 0, sizeof(struct NCR_700_command_slot) 344 memset(hostdata->slots, 0, sizeof(struct NCR_700_command_slot)
346 * NCR_700_COMMAND_SLOTS_PER_HOST); 345 * NCR_700_COMMAND_SLOTS_PER_HOST);
347 for(j = 0; j < NCR_700_COMMAND_SLOTS_PER_HOST; j++) { 346 for (j = 0; j < NCR_700_COMMAND_SLOTS_PER_HOST; j++) {
348 dma_addr_t offset = (dma_addr_t)((unsigned long)&hostdata->slots[j].SG[0] 347 dma_addr_t offset = (dma_addr_t)((unsigned long)&hostdata->slots[j].SG[0]
349 - (unsigned long)&hostdata->slots[0].SG[0]); 348 - (unsigned long)&hostdata->slots[0].SG[0]);
350 hostdata->slots[j].pSG = (struct NCR_700_SG_List *)((unsigned long)(pSlots + offset)); 349 hostdata->slots[j].pSG = (struct NCR_700_SG_List *)((unsigned long)(pSlots + offset));
@@ -355,14 +354,12 @@ NCR_700_detect(struct scsi_host_template *tpnt,
355 hostdata->slots[j].state = NCR_700_SLOT_FREE; 354 hostdata->slots[j].state = NCR_700_SLOT_FREE;
356 } 355 }
357 356
358 for(j = 0; j < sizeof(SCRIPT)/sizeof(SCRIPT[0]); j++) { 357 for (j = 0; j < ARRAY_SIZE(SCRIPT); j++)
359 script[j] = bS_to_host(SCRIPT[j]); 358 script[j] = bS_to_host(SCRIPT[j]);
360 }
361 359
362 /* adjust all labels to be bus physical */ 360 /* adjust all labels to be bus physical */
363 for(j = 0; j < PATCHES; j++) { 361 for (j = 0; j < PATCHES; j++)
364 script[LABELPATCHES[j]] = bS_to_host(pScript + SCRIPT[LABELPATCHES[j]]); 362 script[LABELPATCHES[j]] = bS_to_host(pScript + SCRIPT[LABELPATCHES[j]]);
365 }
366 /* now patch up fixed addresses. */ 363 /* now patch up fixed addresses. */
367 script_patch_32(script, MessageLocation, 364 script_patch_32(script, MessageLocation,
368 pScript + MSGOUT_OFFSET); 365 pScript + MSGOUT_OFFSET);
@@ -385,17 +382,17 @@ NCR_700_detect(struct scsi_host_template *tpnt,
385 host->hostdata[0] = (unsigned long)hostdata; 382 host->hostdata[0] = (unsigned long)hostdata;
386 /* kick the chip */ 383 /* kick the chip */
387 NCR_700_writeb(0xff, host, CTEST9_REG); 384 NCR_700_writeb(0xff, host, CTEST9_REG);
388 if(hostdata->chip710) 385 if (hostdata->chip710)
389 hostdata->rev = (NCR_700_readb(host, CTEST8_REG)>>4) & 0x0f; 386 hostdata->rev = (NCR_700_readb(host, CTEST8_REG)>>4) & 0x0f;
390 else 387 else
391 hostdata->rev = (NCR_700_readb(host, CTEST7_REG)>>4) & 0x0f; 388 hostdata->rev = (NCR_700_readb(host, CTEST7_REG)>>4) & 0x0f;
392 hostdata->fast = (NCR_700_readb(host, CTEST9_REG) == 0); 389 hostdata->fast = (NCR_700_readb(host, CTEST9_REG) == 0);
393 if(banner == 0) { 390 if (banner == 0) {
394 printk(KERN_NOTICE "53c700: Version " NCR_700_VERSION " By James.Bottomley@HansenPartnership.com\n"); 391 printk(KERN_NOTICE "53c700: Version " NCR_700_VERSION " By James.Bottomley@HansenPartnership.com\n");
395 banner = 1; 392 banner = 1;
396 } 393 }
397 printk(KERN_NOTICE "scsi%d: %s rev %d %s\n", host->host_no, 394 printk(KERN_NOTICE "scsi%d: %s rev %d %s\n", host->host_no,
398 hostdata->chip710 ? "53c710" : 395 hostdata->chip710 ? "53c710" :
399 (hostdata->fast ? "53c700-66" : "53c700"), 396 (hostdata->fast ? "53c700-66" : "53c700"),
400 hostdata->rev, hostdata->differential ? 397 hostdata->rev, hostdata->differential ?
401 "(Differential)" : ""); 398 "(Differential)" : "");