Re: [PATCH 1/2] media: i2c: ov772x: Add support for BT656 mode

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Lad,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on linuxtv-media/master]
[also build test WARNING on v5.8-rc6 next-20200724]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]

url:    https://github.com/0day-ci/linux/commits/Lad-Prabhakar/media-i2c-ov772x-Enable-BT656-mode-and-test-pattern-support/20200724-231016
base:   git://linuxtv.org/media_tree.git master
config: x86_64-allyesconfig (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project 1d09ecf36175f7910ffedd6d497c07b5c74c22fb)
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # install x86_64 cross compiling tool for clang build
        # apt-get install binutils-x86-64-linux-gnu
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=x86_64 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@xxxxxxxxx>

All warnings (new ones prefixed by >>):

>> drivers/media/i2c/ov772x.c:1425:6: warning: variable 'ret' is used uninitialized whenever 'if' condition is true [-Wsometimes-uninitialized]
           if (!endpoint) {
               ^~~~~~~~~
   drivers/media/i2c/ov772x.c:1471:9: note: uninitialized use occurs here
           return ret;
                  ^~~
   drivers/media/i2c/ov772x.c:1425:2: note: remove the 'if' if its condition is always false
           if (!endpoint) {
           ^~~~~~~~~~~~~~~~
   drivers/media/i2c/ov772x.c:1363:11: note: initialize the variable 'ret' to silence this warning
           int                     ret;
                                      ^
                                       = 0
   1 warning generated.

vim +1425 drivers/media/i2c/ov772x.c

  1354	
  1355	/*
  1356	 * i2c_driver function
  1357	 */
  1358	
  1359	static int ov772x_probe(struct i2c_client *client)
  1360	{
  1361		struct fwnode_handle *endpoint;
  1362		struct ov772x_priv	*priv;
  1363		int			ret;
  1364		static const struct regmap_config ov772x_regmap_config = {
  1365			.reg_bits = 8,
  1366			.val_bits = 8,
  1367			.max_register = DSPAUTO,
  1368		};
  1369	
  1370		if (!client->dev.of_node && !client->dev.platform_data) {
  1371			dev_err(&client->dev,
  1372				"Missing ov772x platform data for non-DT device\n");
  1373			return -EINVAL;
  1374		}
  1375	
  1376		priv = devm_kzalloc(&client->dev, sizeof(*priv), GFP_KERNEL);
  1377		if (!priv)
  1378			return -ENOMEM;
  1379	
  1380		priv->regmap = devm_regmap_init_sccb(client, &ov772x_regmap_config);
  1381		if (IS_ERR(priv->regmap)) {
  1382			dev_err(&client->dev, "Failed to allocate register map\n");
  1383			return PTR_ERR(priv->regmap);
  1384		}
  1385	
  1386		priv->info = client->dev.platform_data;
  1387		mutex_init(&priv->lock);
  1388	
  1389		v4l2_i2c_subdev_init(&priv->subdev, client, &ov772x_subdev_ops);
  1390		priv->subdev.flags |= V4L2_SUBDEV_FL_HAS_DEVNODE |
  1391				      V4L2_SUBDEV_FL_HAS_EVENTS;
  1392		v4l2_ctrl_handler_init(&priv->hdl, 3);
  1393		/* Use our mutex for the controls */
  1394		priv->hdl.lock = &priv->lock;
  1395		priv->vflip_ctrl = v4l2_ctrl_new_std(&priv->hdl, &ov772x_ctrl_ops,
  1396						     V4L2_CID_VFLIP, 0, 1, 1, 0);
  1397		priv->hflip_ctrl = v4l2_ctrl_new_std(&priv->hdl, &ov772x_ctrl_ops,
  1398						     V4L2_CID_HFLIP, 0, 1, 1, 0);
  1399		priv->band_filter_ctrl = v4l2_ctrl_new_std(&priv->hdl, &ov772x_ctrl_ops,
  1400							   V4L2_CID_BAND_STOP_FILTER,
  1401							   0, 256, 1, 0);
  1402		priv->subdev.ctrl_handler = &priv->hdl;
  1403		if (priv->hdl.error) {
  1404			ret = priv->hdl.error;
  1405			goto error_mutex_destroy;
  1406		}
  1407	
  1408		priv->clk = clk_get(&client->dev, NULL);
  1409		if (IS_ERR(priv->clk)) {
  1410			dev_err(&client->dev, "Unable to get xclk clock\n");
  1411			ret = PTR_ERR(priv->clk);
  1412			goto error_ctrl_free;
  1413		}
  1414	
  1415		priv->pwdn_gpio = gpiod_get_optional(&client->dev, "powerdown",
  1416						     GPIOD_OUT_LOW);
  1417		if (IS_ERR(priv->pwdn_gpio)) {
  1418			dev_info(&client->dev, "Unable to get GPIO \"powerdown\"");
  1419			ret = PTR_ERR(priv->pwdn_gpio);
  1420			goto error_clk_put;
  1421		}
  1422	
  1423		endpoint = fwnode_graph_get_next_endpoint(dev_fwnode(&client->dev),
  1424							  NULL);
> 1425		if (!endpoint) {
  1426			dev_err(&client->dev, "endpoint node not found\n");
  1427			goto error_clk_put;
  1428		}
  1429	
  1430		ret = v4l2_fwnode_endpoint_parse(endpoint, &priv->ep);
  1431		fwnode_handle_put(endpoint);
  1432		if (ret) {
  1433			dev_err(&client->dev, "Could not parse endpoint\n");
  1434			goto error_clk_put;
  1435		}
  1436	
  1437		ret = ov772x_video_probe(priv);
  1438		if (ret < 0)
  1439			goto error_gpio_put;
  1440	

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx

Attachment: .config.gz
Description: application/gzip


[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux