All of lore.kernel.org
 help / color / mirror / Atom feed
* [hverkuil-media:hdmi-dbg 9/11] drivers/gpio/gpio-virt-link.c:552 gpio_virt_link_probe() error: uninitialized symbol 'ret'.
@ 2021-09-11 20:42 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2021-09-11 20:42 UTC (permalink / raw)
  To: kbuild

[-- Attachment #1: Type: text/plain, Size: 10902 bytes --]

CC: kbuild-all(a)lists.01.org
CC: linux-kernel(a)vger.kernel.org
TO: Hans Verkuil <hverkuil@xs4all.nl>

tree:   git://linuxtv.org/hverkuil/media_tree.git hdmi-dbg
head:   62840ed1491a81a6c57dd4183216c5e599f8025d
commit: b8ca4c46e7613329ffb82d415cc062175f442e16 [9/11] gpio-virt-link: wip: add virtual gpio link driver
:::::: branch date: 2 days ago
:::::: commit date: 2 days ago
config: x86_64-randconfig-m031-20210911 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>

smatch warnings:
drivers/gpio/gpio-virt-link.c:552 gpio_virt_link_probe() error: uninitialized symbol 'ret'.

vim +/ret +552 drivers/gpio/gpio-virt-link.c

b8ca4c46e7613329 Hans Verkuil 2021-08-11  476  
b8ca4c46e7613329 Hans Verkuil 2021-08-11  477  static int gpio_virt_link_probe(struct platform_device *pdev)
b8ca4c46e7613329 Hans Verkuil 2021-08-11  478  {
b8ca4c46e7613329 Hans Verkuil 2021-08-11  479  	struct gpio_virt_link_state *state;
b8ca4c46e7613329 Hans Verkuil 2021-08-11  480  	struct device_node *node, *link_node;
b8ca4c46e7613329 Hans Verkuil 2021-08-11  481  	const char *reg_name;
b8ca4c46e7613329 Hans Verkuil 2021-08-11  482  	int out = 0;
b8ca4c46e7613329 Hans Verkuil 2021-08-11  483  	int in = 0;
b8ca4c46e7613329 Hans Verkuil 2021-08-11  484  	int ret;
b8ca4c46e7613329 Hans Verkuil 2021-08-11  485  
b8ca4c46e7613329 Hans Verkuil 2021-08-11  486  	/* out */
b8ca4c46e7613329 Hans Verkuil 2021-08-11  487  	node = of_get_child_by_name(pdev->dev.of_node, GVL_NODE_OUT);
b8ca4c46e7613329 Hans Verkuil 2021-08-11  488  	if (node) {
b8ca4c46e7613329 Hans Verkuil 2021-08-11  489  		ret = of_property_read_u32(node, "num-gpios", &out);
b8ca4c46e7613329 Hans Verkuil 2021-08-11  490  		of_node_put(node);
b8ca4c46e7613329 Hans Verkuil 2021-08-11  491  		if (ret) {
b8ca4c46e7613329 Hans Verkuil 2021-08-11  492  			dev_err(&pdev->dev, "%s: no out num-gpios property\n", __func__);
b8ca4c46e7613329 Hans Verkuil 2021-08-11  493  			return ret;
b8ca4c46e7613329 Hans Verkuil 2021-08-11  494  		}
b8ca4c46e7613329 Hans Verkuil 2021-08-11  495  		if (out > MAX_NUM_OUT || out == 0) {
b8ca4c46e7613329 Hans Verkuil 2021-08-11  496  			dev_err(&pdev->dev, "%s: requested %d number of outputs\n", __func__, out);
b8ca4c46e7613329 Hans Verkuil 2021-08-11  497  			return -EINVAL;
b8ca4c46e7613329 Hans Verkuil 2021-08-11  498  		}
b8ca4c46e7613329 Hans Verkuil 2021-08-11  499  	}
b8ca4c46e7613329 Hans Verkuil 2021-08-11  500  
b8ca4c46e7613329 Hans Verkuil 2021-08-11  501  	/* in */
b8ca4c46e7613329 Hans Verkuil 2021-08-11  502  	node = of_get_child_by_name(pdev->dev.of_node, GVL_NODE_IN);
b8ca4c46e7613329 Hans Verkuil 2021-08-11  503  	if (node) {
b8ca4c46e7613329 Hans Verkuil 2021-08-11  504  		ret = of_property_read_u32(node, "num-gpios", &in);
b8ca4c46e7613329 Hans Verkuil 2021-08-11  505  		of_node_put(node);
b8ca4c46e7613329 Hans Verkuil 2021-08-11  506  		if (ret) {
b8ca4c46e7613329 Hans Verkuil 2021-08-11  507  			dev_err(&pdev->dev, "%s: no in num-gpios property\n", __func__);
b8ca4c46e7613329 Hans Verkuil 2021-08-11  508  			return ret;
b8ca4c46e7613329 Hans Verkuil 2021-08-11  509  		}
b8ca4c46e7613329 Hans Verkuil 2021-08-11  510  		if (in > MAX_NUM_IN || in == 0) {
b8ca4c46e7613329 Hans Verkuil 2021-08-11  511  			dev_err(&pdev->dev, "%s: requested %d number of inputs\n", __func__, in);
b8ca4c46e7613329 Hans Verkuil 2021-08-11  512  			return -EINVAL;
b8ca4c46e7613329 Hans Verkuil 2021-08-11  513  		}
b8ca4c46e7613329 Hans Verkuil 2021-08-11  514  	}
b8ca4c46e7613329 Hans Verkuil 2021-08-11  515  
b8ca4c46e7613329 Hans Verkuil 2021-08-11  516  	/* state */
b8ca4c46e7613329 Hans Verkuil 2021-08-11  517  	state = devm_kzalloc(&pdev->dev, sizeof(struct gpio_virt_link_state), GFP_KERNEL);
b8ca4c46e7613329 Hans Verkuil 2021-08-11  518  	if (!state) {
b8ca4c46e7613329 Hans Verkuil 2021-08-11  519  		return -ENOMEM;
b8ca4c46e7613329 Hans Verkuil 2021-08-11  520  	}
b8ca4c46e7613329 Hans Verkuil 2021-08-11  521  
b8ca4c46e7613329 Hans Verkuil 2021-08-11  522  	state->dev = &pdev->dev;
b8ca4c46e7613329 Hans Verkuil 2021-08-11  523  	state->num_outputs = out;
b8ca4c46e7613329 Hans Verkuil 2021-08-11  524  	state->num_inputs = in;
b8ca4c46e7613329 Hans Verkuil 2021-08-11  525  
b8ca4c46e7613329 Hans Verkuil 2021-08-11  526  	/* links */
b8ca4c46e7613329 Hans Verkuil 2021-08-11  527  	node = of_get_child_by_name(pdev->dev.of_node, "links");
b8ca4c46e7613329 Hans Verkuil 2021-08-11  528  	if (node) {
b8ca4c46e7613329 Hans Verkuil 2021-08-11  529  		int i = 0;
b8ca4c46e7613329 Hans Verkuil 2021-08-11  530  		state->num_links = of_get_child_count(node);
b8ca4c46e7613329 Hans Verkuil 2021-08-11  531  		if (state->num_links > MAX_NUM_LINKS) {
b8ca4c46e7613329 Hans Verkuil 2021-08-11  532  			of_node_put(node);
b8ca4c46e7613329 Hans Verkuil 2021-08-11  533  			dev_err(&pdev->dev, "%s: requested %d number of links\n", __func__, state->num_links);
b8ca4c46e7613329 Hans Verkuil 2021-08-11  534  			return -EINVAL;
b8ca4c46e7613329 Hans Verkuil 2021-08-11  535  		}
b8ca4c46e7613329 Hans Verkuil 2021-08-11  536  		for_each_child_of_node(node, link_node) {
b8ca4c46e7613329 Hans Verkuil 2021-08-11  537  			ret = of_property_read_string(link_node, "desc", &state->links[i].desc);
b8ca4c46e7613329 Hans Verkuil 2021-08-11  538  			if (ret) {
b8ca4c46e7613329 Hans Verkuil 2021-08-11  539  				state->links[i].desc = NULL;
b8ca4c46e7613329 Hans Verkuil 2021-08-11  540  			}
b8ca4c46e7613329 Hans Verkuil 2021-08-11  541  			ret = of_property_read_u32(link_node, "out", &state->links[i].out);
b8ca4c46e7613329 Hans Verkuil 2021-08-11  542  			if (ret) {
b8ca4c46e7613329 Hans Verkuil 2021-08-11  543  				break;
b8ca4c46e7613329 Hans Verkuil 2021-08-11  544  			}
b8ca4c46e7613329 Hans Verkuil 2021-08-11  545  			ret = of_property_read_u32(link_node, "in", &state->links[i].in);
b8ca4c46e7613329 Hans Verkuil 2021-08-11  546  			if (ret) {
b8ca4c46e7613329 Hans Verkuil 2021-08-11  547  				break;
b8ca4c46e7613329 Hans Verkuil 2021-08-11  548  			}
b8ca4c46e7613329 Hans Verkuil 2021-08-11  549  			i++;
b8ca4c46e7613329 Hans Verkuil 2021-08-11  550  		}
b8ca4c46e7613329 Hans Verkuil 2021-08-11  551  		of_node_put(node);
b8ca4c46e7613329 Hans Verkuil 2021-08-11 @552  		if (ret) {
b8ca4c46e7613329 Hans Verkuil 2021-08-11  553  			dev_err(&pdev->dev, "%s: failed getting link %d setting\n", __func__, i);
b8ca4c46e7613329 Hans Verkuil 2021-08-11  554  			return ret;
b8ca4c46e7613329 Hans Verkuil 2021-08-11  555  		}
b8ca4c46e7613329 Hans Verkuil 2021-08-11  556  	}
b8ca4c46e7613329 Hans Verkuil 2021-08-11  557  
b8ca4c46e7613329 Hans Verkuil 2021-08-11  558  	/* lock */
b8ca4c46e7613329 Hans Verkuil 2021-08-11  559  	spin_lock_init(&state->lock);
b8ca4c46e7613329 Hans Verkuil 2021-08-11  560  
b8ca4c46e7613329 Hans Verkuil 2021-08-11  561  	ret = gpio_virt_link_add_gpio_chips(state);
b8ca4c46e7613329 Hans Verkuil 2021-08-11  562  	if (ret) {
b8ca4c46e7613329 Hans Verkuil 2021-08-11  563  		dev_err(&pdev->dev, "%s: add gpio chips failed\n", __func__);
b8ca4c46e7613329 Hans Verkuil 2021-08-11  564  		return ret;
b8ca4c46e7613329 Hans Verkuil 2021-08-11  565  	}
b8ca4c46e7613329 Hans Verkuil 2021-08-11  566  
b8ca4c46e7613329 Hans Verkuil 2021-08-11  567  	ret = of_property_read_string(pdev->dev.of_node, "reg-name", &reg_name);
b8ca4c46e7613329 Hans Verkuil 2021-08-11  568  	if (ret == 0) {
b8ca4c46e7613329 Hans Verkuil 2021-08-11  569  		snprintf(state->dbg.name, sizeof(state->dbg.name), "%s_%s", GPIO_VIRT_LINK_DRV_NAME, reg_name);
b8ca4c46e7613329 Hans Verkuil 2021-08-11  570  	} else {
b8ca4c46e7613329 Hans Verkuil 2021-08-11  571  		snprintf(state->dbg.name, sizeof(state->dbg.name), "%s", GPIO_VIRT_LINK_DRV_NAME);
b8ca4c46e7613329 Hans Verkuil 2021-08-11  572  	}
b8ca4c46e7613329 Hans Verkuil 2021-08-11  573  
b8ca4c46e7613329 Hans Verkuil 2021-08-11  574  	state->workqueue = create_singlethread_workqueue(state->dbg.name);
b8ca4c46e7613329 Hans Verkuil 2021-08-11  575  	if (!state->workqueue) {
b8ca4c46e7613329 Hans Verkuil 2021-08-11  576  		dev_err(&pdev->dev, "Failed to create workqueue\n");
b8ca4c46e7613329 Hans Verkuil 2021-08-11  577  		ret = -ENOMEM;
b8ca4c46e7613329 Hans Verkuil 2021-08-11  578  		goto err_work_queue;
b8ca4c46e7613329 Hans Verkuil 2021-08-11  579  	}
b8ca4c46e7613329 Hans Verkuil 2021-08-11  580  	INIT_WORK(&state->update_input_work, vgl_update_input_work);
b8ca4c46e7613329 Hans Verkuil 2021-08-11  581  
b8ca4c46e7613329 Hans Verkuil 2021-08-11  582  	/* debug-fs */
b8ca4c46e7613329 Hans Verkuil 2021-08-11  583  	state->dbg.fsroot = debugfs_create_dir(state->dbg.name, NULL);
b8ca4c46e7613329 Hans Verkuil 2021-08-11  584  	if (!state->dbg.fsroot) {
b8ca4c46e7613329 Hans Verkuil 2021-08-11  585  		dev_err(&pdev->dev, "%s: failed to create fsroot\n", __func__);
b8ca4c46e7613329 Hans Verkuil 2021-08-11  586  		ret = -EIO;
b8ca4c46e7613329 Hans Verkuil 2021-08-11  587  		goto err_fsroot;
b8ca4c46e7613329 Hans Verkuil 2021-08-11  588  	}
b8ca4c46e7613329 Hans Verkuil 2021-08-11  589  
b8ca4c46e7613329 Hans Verkuil 2021-08-11  590  	state->dbg.status = debugfs_create_file("status", S_IRUGO, state->dbg.fsroot, state, &dbg_status_fops);
b8ca4c46e7613329 Hans Verkuil 2021-08-11  591  	if (!state->dbg.status) {
b8ca4c46e7613329 Hans Verkuil 2021-08-11  592  		dev_err(&pdev->dev, "%s: failed to create debugfs file\n", __func__);
b8ca4c46e7613329 Hans Verkuil 2021-08-11  593  		ret = -EIO;
b8ca4c46e7613329 Hans Verkuil 2021-08-11  594  		goto err_fs_status;
b8ca4c46e7613329 Hans Verkuil 2021-08-11  595  	}
b8ca4c46e7613329 Hans Verkuil 2021-08-11  596  
b8ca4c46e7613329 Hans Verkuil 2021-08-11  597  	platform_set_drvdata(pdev, state);
b8ca4c46e7613329 Hans Verkuil 2021-08-11  598  
b8ca4c46e7613329 Hans Verkuil 2021-08-11  599  	dev_info(&pdev->dev, "%s:\n", __func__);
b8ca4c46e7613329 Hans Verkuil 2021-08-11  600  
b8ca4c46e7613329 Hans Verkuil 2021-08-11  601  	return 0;
b8ca4c46e7613329 Hans Verkuil 2021-08-11  602  
b8ca4c46e7613329 Hans Verkuil 2021-08-11  603  err_fs_status:
b8ca4c46e7613329 Hans Verkuil 2021-08-11  604  	debugfs_remove_recursive(state->dbg.fsroot);
b8ca4c46e7613329 Hans Verkuil 2021-08-11  605  err_fsroot:
b8ca4c46e7613329 Hans Verkuil 2021-08-11  606  	destroy_workqueue(state->workqueue);
b8ca4c46e7613329 Hans Verkuil 2021-08-11  607  err_work_queue:
b8ca4c46e7613329 Hans Verkuil 2021-08-11  608  	return ret;
b8ca4c46e7613329 Hans Verkuil 2021-08-11  609  }
b8ca4c46e7613329 Hans Verkuil 2021-08-11  610  

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

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 36915 bytes --]

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2021-09-11 20:42 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-09-11 20:42 [hverkuil-media:hdmi-dbg 9/11] drivers/gpio/gpio-virt-link.c:552 gpio_virt_link_probe() error: uninitialized symbol 'ret' kernel test robot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.