atp870u: Replace port 0x80 delay by udelay
authorOndrej Zary <linux@rainbow-software.org>
Tue, 17 Nov 2015 18:24:08 +0000 (19:24 +0100)
committerMartin K. Petersen <martin.petersen@oracle.com>
Thu, 26 Nov 2015 03:08:44 +0000 (22:08 -0500)
tscam() is using port 0x80 access for delays but that's x86-only.
Use udelay(2) instead.

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>
drivers/scsi/atp870u.c

index bccf872903e5c25fa809b3336f55492e4a00e732..c4a59cc0821bd85441699c036454abd6b7bfd239 100644 (file)
@@ -1036,7 +1036,7 @@ static void tscam(struct Scsi_Host *host)
        atp_writeb_io(dev, 0, 0x02, 0x7f);
        atp_writeb_io(dev, 0, 0x1b, 0x02);
 
-       outb(0, 0x80);
+       udelay(2);
 
        val = 0x0080;           /* bsy  */
        atp_writew_io(dev, 0, 0x1c, val);
@@ -1044,7 +1044,7 @@ static void tscam(struct Scsi_Host *host)
        atp_writew_io(dev, 0, 0x1c, val);
        val |= 0x0004;          /* msg  */
        atp_writew_io(dev, 0, 0x1c, val);
-       inb(0x80);              /* 2 deskew delay(45ns*2=90ns) */
+       udelay(2);              /* 2 deskew delay(45ns*2=90ns) */
        val &= 0x007f;          /* no bsy  */
        atp_writew_io(dev, 0, 0x1c, val);
        mdelay(128);
@@ -1052,7 +1052,7 @@ static void tscam(struct Scsi_Host *host)
        atp_writew_io(dev, 0, 0x1c, val);
        while ((atp_readb_io(dev, 0, 0x1c) & 0x04) != 0)
                ;
-       outb(1, 0x80);
+       udelay(2);
        udelay(100);
        for (n = 0; n < 0x30000; n++)
                if ((atp_readb_io(dev, 0, 0x1c) & 0x80) != 0)   /* bsy ? */
@@ -1060,13 +1060,13 @@ static void tscam(struct Scsi_Host *host)
        if (n < 0x30000)
                for (n = 0; n < 0x30000; n++)
                        if ((atp_readb_io(dev, 0, 0x1c) & 0x81) == 0x0081) {
-                               inb(0x80);
+                               udelay(2);
                                val |= 0x8003;          /* io,cd,db7  */
                                atp_writew_io(dev, 0, 0x1c, val);
-                               inb(0x80);
+                               udelay(2);
                                val &= 0x00bf;          /* no sel     */
                                atp_writew_io(dev, 0, 0x1c, val);
-                               outb(2, 0x80);
+                               udelay(2);
                                break;
                        }
        while (1) {
@@ -1093,18 +1093,18 @@ static void tscam(struct Scsi_Host *host)
        val &= 0x00ff;          /* synchronization  */
        val |= 0x3f00;
        fun_scam(dev, &val);
-       outb(3, 0x80);
+       udelay(2);
        val &= 0x00ff;          /* isolation        */
        val |= 0x2000;
        fun_scam(dev, &val);
-       outb(4, 0x80);
+       udelay(2);
        i = 8;
        j = 0;
 
        while (1) {
                if ((atp_readw_io(dev, 0, 0x1c) & 0x2000) == 0)
                        continue;
-               outb(5, 0x80);
+               udelay(2);
                val &= 0x00ff;          /* get ID_STRING */
                val |= 0x2000;
                k = fun_scam(dev, &val);