atp870u: Remove workport

Remove workport temporary variable to simplify the code.

Signed-off-by: Ondrej Zary <linux@rainbow-software.org>
Reviewed-by: Hannes Reinicke <hare@suse.de>
Acked-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
This commit is contained in:
Ondrej Zary 2015-11-17 19:23:37 +01:00 committed by Martin K. Petersen
parent d282e2b383
commit c43cd036e5

View file

@ -51,7 +51,7 @@ static irqreturn_t atp870u_intr_handle(int irq, void *dev_id)
unsigned char i, j, c, target_id, lun,cmdp; unsigned char i, j, c, target_id, lun,cmdp;
unsigned char *prd; unsigned char *prd;
struct scsi_cmnd *workreq; struct scsi_cmnd *workreq;
unsigned int workport, tmport, tmport1; unsigned int tmport, tmport1;
unsigned long adrcnt, k; unsigned long adrcnt, k;
#ifdef ED_DBGP #ifdef ED_DBGP
unsigned long l; unsigned long l;
@ -76,10 +76,9 @@ static irqreturn_t atp870u_intr_handle(int irq, void *dev_id)
#endif #endif
dev->in_int[c] = 1; dev->in_int[c] = 1;
cmdp = inb(dev->ioport[c] + 0x10); cmdp = inb(dev->ioport[c] + 0x10);
workport = dev->ioport[c];
if (dev->working[c] != 0) { if (dev->working[c] != 0) {
if (dev->dev_id == ATP885_DEVID) { if (dev->dev_id == ATP885_DEVID) {
tmport1 = workport + 0x16; tmport1 = dev->ioport[c] + 0x16;
if ((inb(tmport1) & 0x80) == 0) if ((inb(tmport1) & 0x80) == 0)
outb((inb(tmport1) | 0x80), tmport1); outb((inb(tmport1) | 0x80), tmport1);
} }
@ -160,7 +159,7 @@ static irqreturn_t atp870u_intr_handle(int irq, void *dev_id)
* Flip wide * Flip wide
*/ */
if (dev->wide_id[c] != 0) { if (dev->wide_id[c] != 0) {
tmport = workport + 0x1b; tmport = dev->ioport[c] + 0x1b;
outb(0x01, tmport); outb(0x01, tmport);
while ((inb(tmport) & 0x01) != 0x01) { while ((inb(tmport) & 0x01) != 0x01) {
outb(0x01, tmport); outb(0x01, tmport);
@ -276,9 +275,9 @@ static irqreturn_t atp870u_intr_handle(int irq, void *dev_id)
if (dev->dev_id == ATP885_DEVID) { if (dev->dev_id == ATP885_DEVID) {
j = inb(dev->baseport + 0x29) & 0xfe; j = inb(dev->baseport + 0x29) & 0xfe;
outb(j, dev->baseport + 0x29); outb(j, dev->baseport + 0x29);
tmport = workport + 0x16; tmport = dev->ioport[c] + 0x16;
} else { } else {
tmport = workport + 0x10; tmport = dev->ioport[c] + 0x10;
outb(0x45, tmport); outb(0x45, tmport);
tmport += 0x06; tmport += 0x06;
} }
@ -293,7 +292,7 @@ static irqreturn_t atp870u_intr_handle(int irq, void *dev_id)
target_id &= 0x07; target_id &= 0x07;
} }
if (dev->dev_id == ATP885_DEVID) { if (dev->dev_id == ATP885_DEVID) {
tmport = workport + 0x10; tmport = dev->ioport[c] + 0x10;
outb(0x45, tmport); outb(0x45, tmport);
} }
workreq = dev->id[c][target_id].curr_req; workreq = dev->id[c][target_id].curr_req;
@ -304,7 +303,7 @@ static irqreturn_t atp870u_intr_handle(int irq, void *dev_id)
printk("\n"); printk("\n");
#endif #endif
tmport = workport + 0x0f; tmport = dev->ioport[c] + 0x0f;
outb(lun, tmport); outb(lun, tmport);
tmport += 0x02; tmport += 0x02;
outb(dev->id[c][target_id].devsp, tmport++); outb(dev->id[c][target_id].devsp, tmport++);
@ -338,21 +337,21 @@ static irqreturn_t atp870u_intr_handle(int irq, void *dev_id)
outb(i,tmpcip); outb(i,tmpcip);
} else if ((dev->dev_id == ATP880_DEVID1) || } else if ((dev->dev_id == ATP880_DEVID1) ||
(dev->dev_id == ATP880_DEVID2) ) { (dev->dev_id == ATP880_DEVID2) ) {
tmport = workport - 0x05; tmport = dev->ioport[c] - 0x05;
if ((workreq->cmnd[0] == 0x08) || (workreq->cmnd[0] == 0x28) || (workreq->cmnd[0] == 0x0a) || (workreq->cmnd[0] == 0x2a)) { if ((workreq->cmnd[0] == 0x08) || (workreq->cmnd[0] == 0x28) || (workreq->cmnd[0] == 0x0a) || (workreq->cmnd[0] == 0x2a)) {
outb((unsigned char) ((inb(tmport) & 0x3f) | 0xc0), tmport); outb((unsigned char) ((inb(tmport) & 0x3f) | 0xc0), tmport);
} else { } else {
outb((unsigned char) (inb(tmport) & 0x3f), tmport); outb((unsigned char) (inb(tmport) & 0x3f), tmport);
} }
} else { } else {
tmport = workport + 0x3a; tmport = dev->ioport[c] + 0x3a;
if ((workreq->cmnd[0] == 0x08) || (workreq->cmnd[0] == 0x28) || (workreq->cmnd[0] == 0x0a) || (workreq->cmnd[0] == 0x2a)) { if ((workreq->cmnd[0] == 0x08) || (workreq->cmnd[0] == 0x28) || (workreq->cmnd[0] == 0x0a) || (workreq->cmnd[0] == 0x2a)) {
outb((unsigned char) ((inb(tmport) & 0xf3) | 0x08), tmport); outb((unsigned char) ((inb(tmport) & 0xf3) | 0x08), tmport);
} else { } else {
outb((unsigned char) (inb(tmport) & 0xf3), tmport); outb((unsigned char) (inb(tmport) & 0xf3), tmport);
} }
} }
tmport = workport + 0x1b; tmport = dev->ioport[c] + 0x1b;
j = 0; j = 0;
id = 1; id = 1;
id = id << target_id; id = id << target_id;
@ -367,7 +366,7 @@ static irqreturn_t atp870u_intr_handle(int irq, void *dev_id)
outb(j,tmport); outb(j,tmport);
} }
if (dev->id[c][target_id].last_len == 0) { if (dev->id[c][target_id].last_len == 0) {
tmport = workport + 0x18; tmport = dev->ioport[c] + 0x18;
outb(0x08, tmport); outb(0x08, tmport);
dev->in_int[c] = 0; dev->in_int[c] = 0;
#ifdef ED_DBGP #ifdef ED_DBGP
@ -414,7 +413,7 @@ static irqreturn_t atp870u_intr_handle(int irq, void *dev_id)
outb(0x00, tmpcip); outb(0x00, tmpcip);
tmpcip -= 0x02; tmpcip -= 0x02;
} }
tmport = workport + 0x18; tmport = dev->ioport[c] + 0x18;
/* /*
* Check transfer direction * Check transfer direction
*/ */
@ -488,7 +487,7 @@ static irqreturn_t atp870u_intr_handle(int irq, void *dev_id)
* Take it back wide * Take it back wide
*/ */
if (dev->wide_id[c] != 0) { if (dev->wide_id[c] != 0) {
tmport = workport + 0x1b; tmport = dev->ioport[c] + 0x1b;
outb(0x01, tmport); outb(0x01, tmport);
while ((inb(tmport) & 0x01) != 0x01) { while ((inb(tmport) & 0x01) != 0x01) {
outb(0x01, tmport); outb(0x01, tmport);
@ -523,7 +522,7 @@ static irqreturn_t atp870u_intr_handle(int irq, void *dev_id)
outb(0x06, tmpcip); outb(0x06, tmpcip);
outb(0x00, tmpcip); outb(0x00, tmpcip);
tmpcip = tmpcip - 2; tmpcip = tmpcip - 2;
tmport = workport + 0x10; tmport = dev->ioport[c] + 0x10;
outb(0x41, tmport); outb(0x41, tmport);
if (dev->dev_id == ATP885_DEVID) { if (dev->dev_id == ATP885_DEVID) {
tmport += 2; tmport += 2;
@ -549,7 +548,7 @@ static irqreturn_t atp870u_intr_handle(int irq, void *dev_id)
outb(0x06, tmpcip); outb(0x06, tmpcip);
outb(0x00, tmpcip); outb(0x00, tmpcip);
tmpcip = tmpcip - 2; tmpcip = tmpcip - 2;
tmport = workport + 0x10; tmport = dev->ioport[c] + 0x10;
outb(0x41, tmport); outb(0x41, tmport);
if (dev->dev_id == ATP885_DEVID) { if (dev->dev_id == ATP885_DEVID) {
tmport += 2; tmport += 2;
@ -584,7 +583,7 @@ static irqreturn_t atp870u_intr_handle(int irq, void *dev_id)
dev->in_int[c] = 0; dev->in_int[c] = 0;
goto handled; goto handled;
} else { } else {
// tmport = workport + 0x17; // tmport = dev->ioport[c] + 0x17;
// inb(tmport); // inb(tmport);
// dev->working[c] = 0; // dev->working[c] = 0;
dev->in_int[c] = 0; dev->in_int[c] = 0;
@ -713,7 +712,6 @@ static void send_s870(struct atp_unit *dev,unsigned char c)
unsigned char *prd; unsigned char *prd;
unsigned short int tmpcip, w; unsigned short int tmpcip, w;
unsigned long l, bttl = 0; unsigned long l, bttl = 0;
unsigned int workport;
unsigned long sg_count; unsigned long sg_count;
if (dev->in_snd[c] != 0) { if (dev->in_snd[c] != 0) {
@ -759,12 +757,11 @@ static void send_s870(struct atp_unit *dev,unsigned char c)
dev->in_snd[c] = 0; dev->in_snd[c] = 0;
return; return;
cmd_subp: cmd_subp:
workport = dev->ioport[c]; tmport = dev->ioport[c] + 0x1f;
tmport = workport + 0x1f;
if ((inb(tmport) & 0xb0) != 0) { if ((inb(tmport) & 0xb0) != 0) {
goto abortsnd; goto abortsnd;
} }
tmport = workport + 0x1c; tmport = dev->ioport[c] + 0x1c;
if (inb(tmport) == 0) { if (inb(tmport) == 0) {
goto oktosend; goto oktosend;
} }
@ -800,7 +797,7 @@ static void send_s870(struct atp_unit *dev,unsigned char c)
l = 0; l = 0;
} }
tmport = workport + 0x1b; tmport = dev->ioport[c] + 0x1b;
j = 0; j = 0;
target_id = scmd_id(workreq); target_id = scmd_id(workreq);
@ -823,7 +820,7 @@ static void send_s870(struct atp_unit *dev,unsigned char c)
* Write the command * Write the command
*/ */
tmport = workport; tmport = dev->ioport[c];
outb(workreq->cmd_len, tmport++); outb(workreq->cmd_len, tmport++);
outb(0x2c, tmport++); outb(0x2c, tmport++);
if (dev->dev_id == ATP885_DEVID) { if (dev->dev_id == ATP885_DEVID) {
@ -834,7 +831,7 @@ static void send_s870(struct atp_unit *dev,unsigned char c)
for (i = 0; i < workreq->cmd_len; i++) { for (i = 0; i < workreq->cmd_len; i++) {
outb(workreq->cmnd[i], tmport++); outb(workreq->cmnd[i], tmport++);
} }
tmport = workport + 0x0f; tmport = dev->ioport[c] + 0x0f;
outb(workreq->device->lun, tmport); outb(workreq->device->lun, tmport);
tmport += 0x02; tmport += 0x02;
/* /*
@ -874,11 +871,11 @@ static void send_s870(struct atp_unit *dev,unsigned char c)
} }
outb((unsigned char) (inb(tmport) | 0x80), tmport); outb((unsigned char) (inb(tmport) | 0x80), tmport);
outb(0x80, tmport); outb(0x80, tmport);
tmport = workport + 0x1c; tmport = dev->ioport[c] + 0x1c;
dev->id[c][target_id].dirct = 0; dev->id[c][target_id].dirct = 0;
if (l == 0) { if (l == 0) {
if (inb(tmport) == 0) { if (inb(tmport) == 0) {
tmport = workport + 0x18; tmport = dev->ioport[c] + 0x18;
#ifdef ED_DBGP #ifdef ED_DBGP
printk("change SCSI_CMD_REG 0x08\n"); printk("change SCSI_CMD_REG 0x08\n");
#endif #endif
@ -947,7 +944,7 @@ static void send_s870(struct atp_unit *dev,unsigned char c)
} else if ((dev->dev_id == ATP880_DEVID1) || } else if ((dev->dev_id == ATP880_DEVID1) ||
(dev->dev_id == ATP880_DEVID2)) { (dev->dev_id == ATP880_DEVID2)) {
tmpcip =tmpcip -2; tmpcip =tmpcip -2;
tmport = workport - 0x05; tmport = dev->ioport[c] - 0x05;
if ((workreq->cmnd[0] == 0x08) || (workreq->cmnd[0] == 0x28) || (workreq->cmnd[0] == 0x0a) || (workreq->cmnd[0] == 0x2a)) { if ((workreq->cmnd[0] == 0x08) || (workreq->cmnd[0] == 0x28) || (workreq->cmnd[0] == 0x0a) || (workreq->cmnd[0] == 0x2a)) {
outb((unsigned char) ((inb(tmport) & 0x3f) | 0xc0), tmport); outb((unsigned char) ((inb(tmport) & 0x3f) | 0xc0), tmport);
} else { } else {
@ -955,19 +952,19 @@ static void send_s870(struct atp_unit *dev,unsigned char c)
} }
} else { } else {
tmpcip =tmpcip -2; tmpcip =tmpcip -2;
tmport = workport + 0x3a; tmport = dev->ioport[c] + 0x3a;
if ((workreq->cmnd[0] == 0x08) || (workreq->cmnd[0] == 0x28) || (workreq->cmnd[0] == 0x0a) || (workreq->cmnd[0] == 0x2a)) { if ((workreq->cmnd[0] == 0x08) || (workreq->cmnd[0] == 0x28) || (workreq->cmnd[0] == 0x0a) || (workreq->cmnd[0] == 0x2a)) {
outb((inb(tmport) & 0xf3) | 0x08, tmport); outb((inb(tmport) & 0xf3) | 0x08, tmport);
} else { } else {
outb(inb(tmport) & 0xf3, tmport); outb(inb(tmport) & 0xf3, tmport);
} }
} }
tmport = workport + 0x1c; tmport = dev->ioport[c] + 0x1c;
if(workreq->sc_data_direction == DMA_TO_DEVICE) { if(workreq->sc_data_direction == DMA_TO_DEVICE) {
dev->id[c][target_id].dirct = 0x20; dev->id[c][target_id].dirct = 0x20;
if (inb(tmport) == 0) { if (inb(tmport) == 0) {
tmport = workport + 0x18; tmport = dev->ioport[c] + 0x18;
outb(0x08, tmport); outb(0x08, tmport);
outb(0x01, tmpcip); outb(0x01, tmpcip);
#ifdef ED_DBGP #ifdef ED_DBGP
@ -980,7 +977,7 @@ static void send_s870(struct atp_unit *dev,unsigned char c)
return; return;
} }
if (inb(tmport) == 0) { if (inb(tmport) == 0) {
tmport = workport + 0x18; tmport = dev->ioport[c] + 0x18;
outb(0x08, tmport); outb(0x08, tmport);
outb(0x09, tmpcip); outb(0x09, tmpcip);
#ifdef ED_DBGP #ifdef ED_DBGP