Message ID | 1524558258-530-10-git-send-email-luca@lucaceresoli.net (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Hi Luca,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on linuxtv-media/master]
[also build test WARNING on v4.17-rc2 next-20180424]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]
url: https://github.com/0day-ci/linux/commits/Luca-Ceresoli/media-imx274-cleanups-improvements-and-SELECTION-API-support/20180424-220137
base: git://linuxtv.org/media_tree.git master
config: sparc64-allmodconfig (attached as .config)
compiler: sparc64-linux-gnu-gcc (Debian 7.2.0-11) 7.2.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
make.cross ARCH=sparc64
All warnings (new ones prefixed by >>):
In file included from include/linux/printk.h:332:0,
from include/linux/kernel.h:14,
from include/linux/clk.h:16,
from drivers/media//i2c/imx274.c:22:
drivers/media//i2c/imx274.c: In function 'imx274_s_stream':
>> drivers/media//i2c/imx274.c:1027:32: warning: format '%d' expects argument of type 'int', but argument 6 has type 'long int' [-Wformat=]
dev_dbg(&imx274->client->dev, "%s : %s, mode index = %d\n", __func__,
^
drivers/media//i2c/imx274.c:1029:3:
imx274->mode - &imx274_formats[0]);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/dynamic_debug.h:135:39: note: in definition of macro 'dynamic_dev_dbg'
__dynamic_dev_dbg(&descriptor, dev, fmt, \
^~~
drivers/media//i2c/imx274.c:1027:2: note: in expansion of macro 'dev_dbg'
dev_dbg(&imx274->client->dev, "%s : %s, mode index = %d\n", __func__,
^~~~~~~
vim +1027 drivers/media//i2c/imx274.c
0985dd30 Leon Luo 2017-10-05 1011
0985dd30 Leon Luo 2017-10-05 1012 /**
0985dd30 Leon Luo 2017-10-05 1013 * imx274_s_stream - It is used to start/stop the streaming.
0985dd30 Leon Luo 2017-10-05 1014 * @sd: V4L2 Sub device
0985dd30 Leon Luo 2017-10-05 1015 * @on: Flag (True / False)
0985dd30 Leon Luo 2017-10-05 1016 *
0985dd30 Leon Luo 2017-10-05 1017 * This function controls the start or stop of streaming for the
0985dd30 Leon Luo 2017-10-05 1018 * imx274 sensor.
0985dd30 Leon Luo 2017-10-05 1019 *
0985dd30 Leon Luo 2017-10-05 1020 * Return: 0 on success, errors otherwise
0985dd30 Leon Luo 2017-10-05 1021 */
0985dd30 Leon Luo 2017-10-05 1022 static int imx274_s_stream(struct v4l2_subdev *sd, int on)
0985dd30 Leon Luo 2017-10-05 1023 {
0985dd30 Leon Luo 2017-10-05 1024 struct stimx274 *imx274 = to_imx274(sd);
0985dd30 Leon Luo 2017-10-05 1025 int ret = 0;
0985dd30 Leon Luo 2017-10-05 1026
0985dd30 Leon Luo 2017-10-05 @1027 dev_dbg(&imx274->client->dev, "%s : %s, mode index = %d\n", __func__,
f5180bf1 Luca Ceresoli 2018-04-24 1028 on ? "Stream Start" : "Stream Stop",
f5180bf1 Luca Ceresoli 2018-04-24 1029 imx274->mode - &imx274_formats[0]);
0985dd30 Leon Luo 2017-10-05 1030
0985dd30 Leon Luo 2017-10-05 1031 mutex_lock(&imx274->lock);
0985dd30 Leon Luo 2017-10-05 1032
0985dd30 Leon Luo 2017-10-05 1033 if (on) {
0985dd30 Leon Luo 2017-10-05 1034 /* load mode registers */
da5bbae7 Luca Ceresoli 2018-04-24 1035 ret = imx274_mode_regs(imx274);
0985dd30 Leon Luo 2017-10-05 1036 if (ret)
0985dd30 Leon Luo 2017-10-05 1037 goto fail;
0985dd30 Leon Luo 2017-10-05 1038
0985dd30 Leon Luo 2017-10-05 1039 /*
0985dd30 Leon Luo 2017-10-05 1040 * update frame rate & expsoure. if the last mode is different,
0985dd30 Leon Luo 2017-10-05 1041 * HMAX could be changed. As the result, frame rate & exposure
0985dd30 Leon Luo 2017-10-05 1042 * are changed.
0985dd30 Leon Luo 2017-10-05 1043 * gain is not affected.
0985dd30 Leon Luo 2017-10-05 1044 */
0985dd30 Leon Luo 2017-10-05 1045 ret = imx274_set_frame_interval(imx274,
0985dd30 Leon Luo 2017-10-05 1046 imx274->frame_interval);
0985dd30 Leon Luo 2017-10-05 1047 if (ret)
0985dd30 Leon Luo 2017-10-05 1048 goto fail;
0985dd30 Leon Luo 2017-10-05 1049
0985dd30 Leon Luo 2017-10-05 1050 /* update exposure time */
0985dd30 Leon Luo 2017-10-05 1051 ret = __v4l2_ctrl_s_ctrl(imx274->ctrls.exposure,
0985dd30 Leon Luo 2017-10-05 1052 imx274->ctrls.exposure->val);
0985dd30 Leon Luo 2017-10-05 1053 if (ret)
0985dd30 Leon Luo 2017-10-05 1054 goto fail;
0985dd30 Leon Luo 2017-10-05 1055
0985dd30 Leon Luo 2017-10-05 1056 /* start stream */
0985dd30 Leon Luo 2017-10-05 1057 ret = imx274_start_stream(imx274);
0985dd30 Leon Luo 2017-10-05 1058 if (ret)
0985dd30 Leon Luo 2017-10-05 1059 goto fail;
0985dd30 Leon Luo 2017-10-05 1060 } else {
0985dd30 Leon Luo 2017-10-05 1061 /* stop stream */
cf2a54e2 Luca Ceresoli 2018-04-24 1062 ret = imx274_write_table(imx274, imx274_stop);
0985dd30 Leon Luo 2017-10-05 1063 if (ret)
0985dd30 Leon Luo 2017-10-05 1064 goto fail;
0985dd30 Leon Luo 2017-10-05 1065 }
0985dd30 Leon Luo 2017-10-05 1066
0985dd30 Leon Luo 2017-10-05 1067 mutex_unlock(&imx274->lock);
f5180bf1 Luca Ceresoli 2018-04-24 1068 dev_dbg(&imx274->client->dev, "%s : Done\n", __func__);
0985dd30 Leon Luo 2017-10-05 1069 return 0;
0985dd30 Leon Luo 2017-10-05 1070
0985dd30 Leon Luo 2017-10-05 1071 fail:
0985dd30 Leon Luo 2017-10-05 1072 mutex_unlock(&imx274->lock);
0985dd30 Leon Luo 2017-10-05 1073 dev_err(&imx274->client->dev, "s_stream failed\n");
0985dd30 Leon Luo 2017-10-05 1074 return ret;
0985dd30 Leon Luo 2017-10-05 1075 }
0985dd30 Leon Luo 2017-10-05 1076
:::::: The code at line 1027 was first introduced by commit
:::::: 0985dd306f727df6c0e71cd8a8eda93e8fa5206e media: imx274: V4l2 driver for Sony imx274 CMOS sensor
:::::: TO: Leon Luo <leonl@leopardimaging.com>
:::::: CC: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
diff --git a/drivers/media/i2c/imx274.c b/drivers/media/i2c/imx274.c index 2ec31ae4e60d..69fdc82d4214 100644 --- a/drivers/media/i2c/imx274.c +++ b/drivers/media/i2c/imx274.c @@ -553,8 +553,6 @@ struct imx274_ctrls { * @reset_gpio: Pointer to reset gpio * @lock: Mutex structure * @mode: Parameters for the selected readout mode - * (points to imx274_formats[mode_index]) - * @mode_index: Resolution mode index */ struct stimx274 { struct v4l2_subdev sd; @@ -567,7 +565,6 @@ struct stimx274 { struct gpio_desc *reset_gpio; struct mutex lock; /* mutex lock for operations */ const struct imx274_frmfmt *mode; - u32 mode_index; }; /* @@ -880,7 +877,6 @@ static int imx274_set_fmt(struct v4l2_subdev *sd, index = 0; } - imx274->mode_index = index; imx274->mode = &imx274_formats[index]; if (fmt->width > IMX274_MAX_WIDTH) @@ -1029,7 +1025,8 @@ static int imx274_s_stream(struct v4l2_subdev *sd, int on) int ret = 0; dev_dbg(&imx274->client->dev, "%s : %s, mode index = %d\n", __func__, - on ? "Stream Start" : "Stream Stop", imx274->mode_index); + on ? "Stream Start" : "Stream Stop", + imx274->mode - &imx274_formats[0]); mutex_lock(&imx274->lock); @@ -1068,8 +1065,7 @@ static int imx274_s_stream(struct v4l2_subdev *sd, int on) } mutex_unlock(&imx274->lock); - dev_dbg(&imx274->client->dev, - "%s : Done: mode = %d\n", __func__, imx274->mode_index); + dev_dbg(&imx274->client->dev, "%s : Done\n", __func__); return 0; fail: @@ -1625,8 +1621,7 @@ static int imx274_probe(struct i2c_client *client, mutex_init(&imx274->lock); /* initialize format */ - imx274->mode_index = IMX274_MODE_3840X2160; - imx274->mode = &imx274_formats[imx274->mode_index]; + imx274->mode = &imx274_formats[IMX274_MODE_3840X2160]; imx274->format.width = imx274->mode->size.width; imx274->format.height = imx274->mode->size.height; imx274->format.field = V4L2_FIELD_NONE;
After restructuring struct imx274_frmfmt, the mode_index field is still in use only for two dev_dbg() calls in imx274_s_stream(). Let's remove it and avoid duplicated information. Replacing the first usage requires a some rather annoying but trivial pointer math. The other one can be removed entirely since it would print the same value anyway. Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net> --- Changed v1 -> v2: - add "media: " prefix to commit message - fix dev_dbg() format mismatch warning ("warning: format ‘%ld’ expects argument of type ‘long int’, but argument 6 has type ‘int’") - slightly improve commit message --- drivers/media/i2c/imx274.c | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-)