media: imx274: remove non-indexed pointers from mode_table
authorLuca Ceresoli <luca@lucaceresoli.net>
Tue, 24 Apr 2018 08:24:11 +0000 (04:24 -0400)
committerMauro Carvalho Chehab <mchehab+samsung@kernel.org>
Thu, 17 May 2018 10:22:08 +0000 (06:22 -0400)
mode_table[] has 3 members that are accessed based on their index, which
makes worth using an array.

The other members are always accessed with a constant index. This added
indirection gives no improvement and only makes code more verbose.

Remove these pointers from the array and access them directly.

Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net>
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
drivers/media/i2c/imx274.c

index 62a0d7a..63fb94e 100644 (file)
@@ -144,12 +144,6 @@ enum imx274_mode {
        IMX274_MODE_3840X2160,
        IMX274_MODE_1920X1080,
        IMX274_MODE_1280X720,
-
-       IMX274_MODE_START_STREAM_1,
-       IMX274_MODE_START_STREAM_2,
-       IMX274_MODE_START_STREAM_3,
-       IMX274_MODE_START_STREAM_4,
-       IMX274_MODE_STOP_STREAM
 };
 
 /*
@@ -486,12 +480,6 @@ static const struct reg_8 *mode_table[] = {
        [IMX274_MODE_3840X2160]         = imx274_mode1_3840x2160_raw10,
        [IMX274_MODE_1920X1080]         = imx274_mode3_1920x1080_raw10,
        [IMX274_MODE_1280X720]          = imx274_mode5_1280x720_raw10,
-
-       [IMX274_MODE_START_STREAM_1]    = imx274_start_1,
-       [IMX274_MODE_START_STREAM_2]    = imx274_start_2,
-       [IMX274_MODE_START_STREAM_3]    = imx274_start_3,
-       [IMX274_MODE_START_STREAM_4]    = imx274_start_4,
-       [IMX274_MODE_STOP_STREAM]       = imx274_stop,
 };
 
 /*
@@ -731,11 +719,11 @@ static int imx274_mode_regs(struct stimx274 *priv, int mode)
 {
        int err = 0;
 
-       err = imx274_write_table(priv, mode_table[IMX274_MODE_START_STREAM_1]);
+       err = imx274_write_table(priv, imx274_start_1);
        if (err)
                return err;
 
-       err = imx274_write_table(priv, mode_table[IMX274_MODE_START_STREAM_2]);
+       err = imx274_write_table(priv, imx274_start_2);
        if (err)
                return err;
 
@@ -760,7 +748,7 @@ static int imx274_start_stream(struct stimx274 *priv)
         * give it 1 extra ms for margin
         */
        msleep_range(11);
-       err = imx274_write_table(priv, mode_table[IMX274_MODE_START_STREAM_3]);
+       err = imx274_write_table(priv, imx274_start_3);
        if (err)
                return err;
 
@@ -770,7 +758,7 @@ static int imx274_start_stream(struct stimx274 *priv)
         * give it 1 extra ms for margin
         */
        msleep_range(8);
-       err = imx274_write_table(priv, mode_table[IMX274_MODE_START_STREAM_4]);
+       err = imx274_write_table(priv, imx274_start_4);
        if (err)
                return err;
 
@@ -1081,8 +1069,7 @@ static int imx274_s_stream(struct v4l2_subdev *sd, int on)
                        goto fail;
        } else {
                /* stop stream */
-               ret = imx274_write_table(imx274,
-                                        mode_table[IMX274_MODE_STOP_STREAM]);
+               ret = imx274_write_table(imx274, imx274_stop);
                if (ret)
                        goto fail;
        }
@@ -1779,7 +1766,7 @@ static int imx274_remove(struct i2c_client *client)
        struct stimx274 *imx274 = to_imx274(sd);
 
        /* stop stream */
-       imx274_write_table(imx274, mode_table[IMX274_MODE_STOP_STREAM]);
+       imx274_write_table(imx274, imx274_stop);
 
        v4l2_async_unregister_subdev(sd);
        v4l2_ctrl_handler_free(&imx274->ctrls.handler);