Hello,
Following is a patch that removes SCp.have_data_in references -- the
member is initialized by the NCR53C9x.c core and by the dec_esp.c
front-end, but used by neither. I believe it's some leftover cruft from
the days there were no front-ends -- it's actually used by esp.c. There
are a few less significant clean-ups here and there as well.
I want to apply the patch to the CVS, but I have no means to test it with
a SCSI device -- I could only verify after the change the driver works
well enough to detect the absence of devices in my systems. I would
appreciate if someone with a real SCSI setup could test these changes
before I apply them.
Maciej
--
+ Maciej W. Rozycki, Technical University of Gdansk, Poland +
+--------------------------------------------------------------+
+ e-mail: macro@ds2.pg.gda.pl, PGP key available +
patch-mips-2.4.20-pre6-20021106-mips64-dec_esp-2
diff -up --recursive --new-file
linux-mips-2.4.20-pre6-20021106.macro/drivers/scsi/NCR53C9x.c
linux-mips-2.4.20-pre6-20021106/drivers/scsi/NCR53C9x.c
--- linux-mips-2.4.20-pre6-20021106.macro/drivers/scsi/NCR53C9x.c
2002-09-12 03:20:28.000000000 +0000
+++ linux-mips-2.4.20-pre6-20021106/drivers/scsi/NCR53C9x.c 2002-10-22
23:02:09.000000000 +0000
@@ -917,7 +917,7 @@ static void esp_get_dmabufs(struct NCR_E
if (esp->dma_mmu_get_scsi_one)
esp->dma_mmu_get_scsi_one(esp, sp);
else
- sp->SCp.have_data_in = (int) sp->SCp.ptr =
+ sp->SCp.ptr =
(char *) virt_to_phys(sp->request_buffer);
} else {
sp->SCp.buffer = (struct scatterlist *) sp->buffer;
diff -up --recursive --new-file
linux-mips-2.4.20-pre6-20021106.macro/drivers/scsi/dec_esp.c
linux-mips-2.4.20-pre6-20021106/drivers/scsi/dec_esp.c
--- linux-mips-2.4.20-pre6-20021106.macro/drivers/scsi/dec_esp.c
2002-10-02 17:22:42.000000000 +0000
+++ linux-mips-2.4.20-pre6-20021106/drivers/scsi/dec_esp.c 2002-10-22
23:49:24.000000000 +0000
@@ -323,7 +323,7 @@ static int dma_bytes_sent(struct NCR_ESP
static void dma_drain(struct NCR_ESP *esp)
{
unsigned long nw = *scsi_scr;
- unsigned short *p = KSEG1ADDR((unsigned short *) ((*scsi_dma_ptr) >>
3));
+ unsigned short *p = (unsigned short *)KSEG1ADDR((*scsi_dma_ptr) >> 3);
/*
* Is there something in the dma buffers left?
@@ -437,8 +437,7 @@ static void dma_setup(struct NCR_ESP *es
*/
static void dma_mmu_get_scsi_one(struct NCR_ESP *esp, Scsi_Cmnd * sp)
{
- sp->SCp.have_data_in = PHYSADDR(sp->SCp.buffer);
- sp->SCp.ptr = (char *) ((unsigned long) sp->SCp.have_data_in);
+ sp->SCp.ptr = (char *)PHYSADDR(sp->SCp.buffer);
}
static void dma_mmu_get_scsi_sgl(struct NCR_ESP *esp, Scsi_Cmnd * sp)
@@ -484,8 +483,8 @@ static void pmaz_dma_init_write(struct N
{
volatile int *dmareg = (volatile int *) ( esp->slot + DEC_SCSI_DMAREG );
- memcpy((void *) (esp->slot + DEC_SCSI_SRAM + ESP_TGT_DMA_SIZE),
- KSEG0ADDR((void *) vaddress), length);
+ memcpy((void *)(esp->slot + DEC_SCSI_SRAM + ESP_TGT_DMA_SIZE),
+ (void *)KSEG0ADDR(vaddress), length);
*dmareg = TC_ESP_DMAR_WRITE |
TC_ESP_DMA_ADDR(esp->slot + DEC_SCSI_SRAM + ESP_TGT_DMA_SIZE);
@@ -516,7 +515,5 @@ static void pmaz_dma_setup(struct NCR_ES
static void pmaz_dma_mmu_get_scsi_one(struct NCR_ESP *esp, Scsi_Cmnd * sp)
{
- sp->SCp.have_data_in = (int) sp->SCp.ptr =
- (char *) KSEG0ADDR((sp->request_buffer));
+ sp->SCp.ptr = (char *)KSEG0ADDR((sp->request_buffer));
}
-
|