* [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", ®_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.