提交 a05e9aab 编写于 作者: H Hans Verkuil 提交者: Mauro Carvalho Chehab

media: staging: media: atomisp: init high & low vars

Fix a compiler warning:

include/linux/dev_printk.h: In function 'ov2680_probe':
include/linux/dev_printk.h:144:31: warning: 'high' may be used uninitialized [-Wmaybe-uninitialized]
  144 |         dev_printk_index_wrap(_dev_err, KERN_ERR, dev, dev_fmt(fmt), ##__VA_ARGS__)
      |                               ^~~~~~~~
In function 'ov2680_detect',
    inlined from 'ov2680_s_config' at drivers/staging/media/atomisp/i2c/atomisp-ov2680.c:468:8,
    inlined from 'ov2680_probe' at drivers/staging/media/atomisp/i2c/atomisp-ov2680.c:647:8:
drivers/staging/media/atomisp/i2c/atomisp-ov2680.c:376:13: note: 'high' was declared here
  376 |         u32 high, low;
      |             ^~~~

'high' is indeed uninitialized after the ov_read_reg8() call failed, so there is no
point showing the value. Just say that the read failed. But low can also be used
uninitialized later, so just make it more robust and properly zero the high and low
variables.
Signed-off-by: NHans Verkuil <hverkuil-cisco@xs4all.nl>
Reviewed-by: NHans de Goede <hdegoede@redhat.com>
Signed-off-by: NMauro Carvalho Chehab <mchehab@kernel.org>
上级 73af6c75
...@@ -373,7 +373,7 @@ static int ov2680_get_fmt(struct v4l2_subdev *sd, ...@@ -373,7 +373,7 @@ static int ov2680_get_fmt(struct v4l2_subdev *sd,
static int ov2680_detect(struct i2c_client *client) static int ov2680_detect(struct i2c_client *client)
{ {
struct i2c_adapter *adapter = client->adapter; struct i2c_adapter *adapter = client->adapter;
u32 high, low; u32 high = 0, low = 0;
int ret; int ret;
u16 id; u16 id;
u8 revision; u8 revision;
...@@ -383,7 +383,7 @@ static int ov2680_detect(struct i2c_client *client) ...@@ -383,7 +383,7 @@ static int ov2680_detect(struct i2c_client *client)
ret = ov_read_reg8(client, OV2680_SC_CMMN_CHIP_ID_H, &high); ret = ov_read_reg8(client, OV2680_SC_CMMN_CHIP_ID_H, &high);
if (ret) { if (ret) {
dev_err(&client->dev, "sensor_id_high = 0x%x\n", high); dev_err(&client->dev, "sensor_id_high read failed (%d)\n", ret);
return -ENODEV; return -ENODEV;
} }
ret = ov_read_reg8(client, OV2680_SC_CMMN_CHIP_ID_L, &low); ret = ov_read_reg8(client, OV2680_SC_CMMN_CHIP_ID_L, &low);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册