summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJia-Ju Bai <baijiaju1990@gmail.com>2018-07-27 05:13:17 -0400
committerMartin K. Petersen <martin.petersen@oracle.com>2018-07-30 23:17:53 -0400
commitdcaa0c12661d862bc533239da22ddf2ed90595e7 (patch)
tree6c237a0f7da49f9b7d94373008f931a46b4358f3
parentd6aec1ca7c7c69e5b83b2cb24a57e7860d15507f (diff)
scsi: atp870u: Replace mdelay() with msleep()
tscam(), atp870_init(), atp880_init() and atp885_init() are never called in atomic context. They call mdelay() to busily wait, which is not necessary. mdelay() can be replaced with msleep(). This is found by a static analysis tool named DCNS written by myself. Signed-off-by: Jia-Ju Bai <baijiaju1990@gmail.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
-rw-r--r--drivers/scsi/atp870u.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/drivers/scsi/atp870u.c b/drivers/scsi/atp870u.c
index b46997cf77e2..8996d2329e11 100644
--- a/drivers/scsi/atp870u.c
+++ b/drivers/scsi/atp870u.c
@@ -1055,7 +1055,7 @@ static void tscam(struct Scsi_Host *host, bool wide_chip, u8 scam_on)
1055 udelay(2); /* 2 deskew delay(45ns*2=90ns) */ 1055 udelay(2); /* 2 deskew delay(45ns*2=90ns) */
1056 val &= 0x007f; /* no bsy */ 1056 val &= 0x007f; /* no bsy */
1057 atp_writew_io(dev, 0, 0x1c, val); 1057 atp_writew_io(dev, 0, 0x1c, val);
1058 mdelay(128); 1058 msleep(128);
1059 val &= 0x00fb; /* after 1ms no msg */ 1059 val &= 0x00fb; /* after 1ms no msg */
1060 atp_writew_io(dev, 0, 0x1c, val); 1060 atp_writew_io(dev, 0, 0x1c, val);
1061 while ((atp_readb_io(dev, 0, 0x1c) & 0x04) != 0) 1061 while ((atp_readb_io(dev, 0, 0x1c) & 0x04) != 0)
@@ -1286,9 +1286,9 @@ static void atp870_init(struct Scsi_Host *shpnt)
1286 k = (atp_readb_base(atpdev, 0x3a) & 0xf3) | 0x10; 1286 k = (atp_readb_base(atpdev, 0x3a) & 0xf3) | 0x10;
1287 atp_writeb_base(atpdev, 0x3a, k); 1287 atp_writeb_base(atpdev, 0x3a, k);
1288 atp_writeb_base(atpdev, 0x3a, k & 0xdf); 1288 atp_writeb_base(atpdev, 0x3a, k & 0xdf);
1289 mdelay(32); 1289 msleep(32);
1290 atp_writeb_base(atpdev, 0x3a, k); 1290 atp_writeb_base(atpdev, 0x3a, k);
1291 mdelay(32); 1291 msleep(32);
1292 atp_set_host_id(atpdev, 0, host_id); 1292 atp_set_host_id(atpdev, 0, host_id);
1293 1293
1294 tscam(shpnt, wide_chip, scam_on); 1294 tscam(shpnt, wide_chip, scam_on);
@@ -1370,9 +1370,9 @@ static void atp880_init(struct Scsi_Host *shpnt)
1370 k = atp_readb_base(atpdev, 0x38) & 0x80; 1370 k = atp_readb_base(atpdev, 0x38) & 0x80;
1371 atp_writeb_base(atpdev, 0x38, k); 1371 atp_writeb_base(atpdev, 0x38, k);
1372 atp_writeb_base(atpdev, 0x3b, 0x20); 1372 atp_writeb_base(atpdev, 0x3b, 0x20);
1373 mdelay(32); 1373 msleep(32);
1374 atp_writeb_base(atpdev, 0x3b, 0); 1374 atp_writeb_base(atpdev, 0x3b, 0);
1375 mdelay(32); 1375 msleep(32);
1376 atp_readb_io(atpdev, 0, 0x1b); 1376 atp_readb_io(atpdev, 0, 0x1b);
1377 atp_readb_io(atpdev, 0, 0x17); 1377 atp_readb_io(atpdev, 0, 0x17);
1378 1378
@@ -1454,10 +1454,10 @@ static void atp885_init(struct Scsi_Host *shpnt)
1454 atp_writeb_base(atpdev, 0x28, k); 1454 atp_writeb_base(atpdev, 0x28, k);
1455 atp_writeb_pci(atpdev, 0, 1, 0x80); 1455 atp_writeb_pci(atpdev, 0, 1, 0x80);
1456 atp_writeb_pci(atpdev, 1, 1, 0x80); 1456 atp_writeb_pci(atpdev, 1, 1, 0x80);
1457 mdelay(100); 1457 msleep(100);
1458 atp_writeb_pci(atpdev, 0, 1, 0); 1458 atp_writeb_pci(atpdev, 0, 1, 0);
1459 atp_writeb_pci(atpdev, 1, 1, 0); 1459 atp_writeb_pci(atpdev, 1, 1, 0);
1460 mdelay(1000); 1460 msleep(1000);
1461 atp_readb_io(atpdev, 0, 0x1b); 1461 atp_readb_io(atpdev, 0, 0x1b);
1462 atp_readb_io(atpdev, 0, 0x17); 1462 atp_readb_io(atpdev, 0, 0x17);
1463 atp_readb_io(atpdev, 1, 0x1b); 1463 atp_readb_io(atpdev, 1, 0x1b);
@@ -1473,7 +1473,7 @@ static void atp885_init(struct Scsi_Host *shpnt)
1473 k = (k & 0x07) | 0x40; 1473 k = (k & 0x07) | 0x40;
1474 atp_set_host_id(atpdev, 1, k); 1474 atp_set_host_id(atpdev, 1, k);
1475 1475
1476 mdelay(600); /* this delay used to be called tscam_885() */ 1476 msleep(600); /* this delay used to be called tscam_885() */
1477 dev_info(&pdev->dev, "Scanning Channel A SCSI Device ...\n"); 1477 dev_info(&pdev->dev, "Scanning Channel A SCSI Device ...\n");
1478 atp_is(atpdev, 0, true, atp_readb_io(atpdev, 0, 0x1b) >> 7); 1478 atp_is(atpdev, 0, true, atp_readb_io(atpdev, 0, 0x1b) >> 7);
1479 atp_writeb_io(atpdev, 0, 0x16, 0x80); 1479 atp_writeb_io(atpdev, 0, 0x16, 0x80);