]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
media: i2c: adv7842: Replace mdelay() with msleep() and usleep_range() in adv7842_ddr...
authorJia-Ju Bai <baijiaju1990@gmail.com>
Fri, 27 Jul 2018 02:58:43 +0000 (22:58 -0400)
committerMauro Carvalho Chehab <mchehab+samsung@kernel.org>
Fri, 27 Jul 2018 12:11:13 +0000 (08:11 -0400)
adv7842_ddr_ram_test() is never called in atomic context.
It only calls from:
adv7842_ddr_ram_test() <- adv7842_command_ram_test() <- adv7842_ioctl()

adv7842_ddr_ram_test() calls mdelay() to busily wait,
which is not necessary.
mdelay() can be replaced with msleep() and usleep_range().

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: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
drivers/media/i2c/adv7842.c

index 99d781343fb17a28c524a51445fedcbe164edde7..4f8fbdd00e35eb01d5f3ec3d4fb92820249e5f18 100644 (file)
@@ -3102,7 +3102,7 @@ static int adv7842_ddr_ram_test(struct v4l2_subdev *sd)
        sdp_write(sd, 0x12, 0x00); /* Disable 3D comb, Frame TBC & 3DNR */
        io_write(sd, 0xFF, 0x04);  /* Reset memory controller */
 
-       mdelay(5);
+       usleep_range(5000, 6000);
 
        sdp_write(sd, 0x12, 0x00);    /* Disable 3D Comb, Frame TBC & 3DNR */
        sdp_io_write(sd, 0x2A, 0x01); /* Memory BIST Initialisation */
@@ -3116,12 +3116,12 @@ static int adv7842_ddr_ram_test(struct v4l2_subdev *sd)
        sdp_io_write(sd, 0x7d, 0x00); /* Memory BIST Initialisation */
        sdp_io_write(sd, 0x7e, 0x1a); /* Memory BIST Initialisation */
 
-       mdelay(5);
+       usleep_range(5000, 6000);
 
        sdp_io_write(sd, 0xd9, 0xd5); /* Enable BIST Test */
        sdp_write(sd, 0x12, 0x05); /* Enable FRAME TBC & 3D COMB */
 
-       mdelay(20);
+       msleep(20);
 
        for (i = 0; i < 10; i++) {
                u8 result = sdp_io_read(sd, 0xdb);
@@ -3132,7 +3132,7 @@ static int adv7842_ddr_ram_test(struct v4l2_subdev *sd)
                        else
                                pass++;
                }
-               mdelay(20);
+               msleep(20);
        }
 
        v4l2_dbg(1, debug, sd,