diff for duplicates of <202508181525.GKAXMVYv-lkp@intel.com> diff --git a/a/1.txt b/N1/1.txt index 50ea2d9..9eb65d8 100644 --- a/a/1.txt +++ b/N1/1.txt @@ -1,18 +1,39 @@ +BCC: lkp@intel.com +CC: oe-kbuild-all@lists.linux.dev +In-Reply-To: <20250817-refactor-add-i2c-tracepoints-v2-1-c0bad299e02e@gmail.com> +References: <20250817-refactor-add-i2c-tracepoints-v2-1-c0bad299e02e@gmail.com> +TO: Mohammad Gomaa <midomaxgomaa@gmail.com> +TO: Wolfram Sang <wsa-dev@sang-engineering.com> +TO: Steven Rostedt <rostedt@goodmis.org> +TO: Masami Hiramatsu <mhiramat@kernel.org> +TO: Mathieu Desnoyers <mathieu.desnoyers@efficios.com> +CC: linux-i2c@vger.kernel.org +CC: linux-kernel@vger.kernel.org +CC: linux-trace-kernel@vger.kernel.org +CC: kenalba@google.com +CC: hbarnor@chromium.org +CC: rayxu@google.com +CC: Mohammad Gomaa <midomaxgomaa@gmail.com> + Hi Mohammad, kernel test robot noticed the following build warnings: +[auto build test WARNING on 7e161a991ea71e6ec526abc8f40c6852ebe3d946] + url: https://github.com/intel-lab-lkp/linux/commits/Mohammad-Gomaa/i2c-add-tracepoints-to-aid-debugging-in-i2c-core-base/20250817-155936 base: 7e161a991ea71e6ec526abc8f40c6852ebe3d946 patch link: https://lore.kernel.org/r/20250817-refactor-add-i2c-tracepoints-v2-1-c0bad299e02e%40gmail.com patch subject: [PATCH WIP v2] i2c: add tracepoints to aid debugging in i2c-core-base +:::::: branch date: 24 hours ago +:::::: commit date: 24 hours ago config: x86_64-randconfig-161-20250818 (https://download.01.org/0day-ci/archive/20250818/202508181525.GKAXMVYv-lkp@intel.com/config) compiler: gcc-12 (Debian 12.2.0-14+deb12u1) 12.2.0 If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags | Reported-by: kernel test robot <lkp@intel.com> -| Reported-by: Dan Carpenter <dan.carpenter@linaro.org> +| Reported-by: Dan Carpenter <error27@gmail.com> | Closes: https://lore.kernel.org/r/202508181525.GKAXMVYv-lkp@intel.com/ smatch warnings: @@ -20,6 +41,7 @@ drivers/i2c/i2c-core-base.c:535 i2c_device_probe() error: uninitialized symbol ' vim +/err_reason +535 drivers/i2c/i2c-core-base.c +4d5538f5882a6b6 drivers/i2c/i2c-core.c Benjamin Tissoires 2016-10-13 490 f37dd80ac2a67e4 drivers/i2c/i2c-core.c David Brownell 2007-02-13 491 static int i2c_device_probe(struct device *dev) ^1da177e4c3f415 drivers/i2c/i2c-core.c Linus Torvalds 2005-04-16 492 { 5763a474c887d4a drivers/i2c/i2c-core-base.c Andy Shevchenko 2025-04-16 493 struct fwnode_handle *fwnode = dev_fwnode(dev); @@ -57,9 +79,6 @@ b38f2d5d9615cf9 drivers/i2c/i2c-core-base.c Raul E Rangel 2022-09-29 b38f2d5d9615cf9 drivers/i2c/i2c-core-base.c Raul E Rangel 2022-09-29 525 client->flags |= I2C_CLIENT_WAKE; dc94c3bf033524a drivers/i2c/i2c-core-base.c Mohammad Gomaa 2025-08-17 526 err_reason = I2C_TRACE_REASON_FROM_ACPI; 3fffd1283927342 drivers/i2c/i2c-core.c Dmitry Torokhov 2015-08-17 527 } - -err_reason not set on else { path. - 3c3dd56f760da05 drivers/i2c/i2c-core-base.c Alain Volmat 2020-04-30 528 if (irq == -EPROBE_DEFER) { 5c52473b4496b35 drivers/i2c/i2c-core-base.c Xu Yang 2025-05-07 529 status = dev_err_probe(dev, irq, "can't get irq\n"); dc94c3bf033524a drivers/i2c/i2c-core-base.c Mohammad Gomaa 2025-08-17 530 err_reason = I2C_TRACE_REASON_EPROBE_DEFER_IRQ; @@ -68,8 +87,6 @@ dc94c3bf033524a drivers/i2c/i2c-core-base.c Mohammad Gomaa 2025-08-17 331c34255293cd0 drivers/i2c/i2c-core.c Dmitry Torokhov 2017-01-04 533 dc94c3bf033524a drivers/i2c/i2c-core-base.c Mohammad Gomaa 2025-08-17 534 if (irq < 0) { dc94c3bf033524a drivers/i2c/i2c-core-base.c Mohammad Gomaa 2025-08-17 @535 trace_i2c_device_probe_debug(dev, err_reason); - ^^^^^^^^^^ - 6f34be7400c68d3 drivers/i2c/i2c-core.c Geert Uytterhoeven 2014-11-17 536 irq = 0; dc94c3bf033524a drivers/i2c/i2c-core-base.c Mohammad Gomaa 2025-08-17 537 } 2fd36c55264926e drivers/i2c/i2c-core.c Laurent Pinchart 2014-10-30 538 @@ -79,6 +96,119 @@ dc94c3bf033524a drivers/i2c/i2c-core-base.c Mohammad Gomaa 2025-08-17 0c2a34937f7e4c4 drivers/i2c/i2c-core-base.c Wolfram Sang 2020-06-30 542 driver = to_i2c_driver(dev->driver); 0c2a34937f7e4c4 drivers/i2c/i2c-core-base.c Wolfram Sang 2020-06-30 543 dc94c3bf033524a drivers/i2c/i2c-core-base.c Mohammad Gomaa 2025-08-17 544 has_id_table = driver->id_table; +dc94c3bf033524a drivers/i2c/i2c-core-base.c Mohammad Gomaa 2025-08-17 545 has_acpi_match = acpi_driver_match_device(dev, dev->driver); +dc94c3bf033524a drivers/i2c/i2c-core-base.c Mohammad Gomaa 2025-08-17 546 has_of_match = i2c_of_match_device(dev->driver->of_match_table, client); +dc94c3bf033524a drivers/i2c/i2c-core-base.c Mohammad Gomaa 2025-08-17 547 +dc94c3bf033524a drivers/i2c/i2c-core-base.c Mohammad Gomaa 2025-08-17 548 if (!has_id_table) +dc94c3bf033524a drivers/i2c/i2c-core-base.c Mohammad Gomaa 2025-08-17 549 trace_i2c_device_probe_debug(dev, I2C_TRACE_REASON_NO_I2C_ID_TABLE); +dc94c3bf033524a drivers/i2c/i2c-core-base.c Mohammad Gomaa 2025-08-17 550 if (!has_acpi_match) +dc94c3bf033524a drivers/i2c/i2c-core-base.c Mohammad Gomaa 2025-08-17 551 trace_i2c_device_probe_debug(dev, I2C_TRACE_REASON_ACPI_ID_MISMATCH); +dc94c3bf033524a drivers/i2c/i2c-core-base.c Mohammad Gomaa 2025-08-17 552 if (!has_of_match) +dc94c3bf033524a drivers/i2c/i2c-core-base.c Mohammad Gomaa 2025-08-17 553 trace_i2c_device_probe_debug(dev, I2C_TRACE_REASON_OF_ID_MISMATCH); +dc94c3bf033524a drivers/i2c/i2c-core-base.c Mohammad Gomaa 2025-08-17 554 +da10c06a044b375 drivers/i2c/i2c-core.c Lee Jones 2016-11-07 555 /* +f4b17a14faeec41 drivers/i2c/i2c-core-base.c Javier Martinez Canillas 2017-08-09 556 * An I2C ID table is not mandatory, if and only if, a suitable OF +f4b17a14faeec41 drivers/i2c/i2c-core-base.c Javier Martinez Canillas 2017-08-09 557 * or ACPI ID table is supplied for the probing device. +da10c06a044b375 drivers/i2c/i2c-core.c Lee Jones 2016-11-07 558 */ +dc94c3bf033524a drivers/i2c/i2c-core-base.c Mohammad Gomaa 2025-08-17 559 if (!has_id_table && !has_acpi_match && !has_of_match) { +3c3dd56f760da05 drivers/i2c/i2c-core-base.c Alain Volmat 2020-04-30 560 status = -ENODEV; +dc94c3bf033524a drivers/i2c/i2c-core-base.c Mohammad Gomaa 2025-08-17 561 err_reason = I2C_TRACE_REASON_NO_ID_MATCH; +3c3dd56f760da05 drivers/i2c/i2c-core-base.c Alain Volmat 2020-04-30 562 goto put_sync_adapter; +3c3dd56f760da05 drivers/i2c/i2c-core-base.c Alain Volmat 2020-04-30 563 } +0acc2b321342aa8 drivers/i2c/i2c-core.c Lars-Peter Clausen 2013-09-29 564 +3fffd1283927342 drivers/i2c/i2c-core.c Dmitry Torokhov 2015-08-17 565 if (client->flags & I2C_CLIENT_WAKE) { +3e99834cc0c7f06 drivers/i2c/i2c-core-base.c Andy Shevchenko 2019-07-26 566 int wakeirq; +3fffd1283927342 drivers/i2c/i2c-core.c Dmitry Torokhov 2015-08-17 567 +5d9424b00b577b6 drivers/i2c/i2c-core-base.c Andy Shevchenko 2025-04-16 568 wakeirq = fwnode_irq_get_byname(fwnode, "wakeup"); +3c3dd56f760da05 drivers/i2c/i2c-core-base.c Alain Volmat 2020-04-30 569 if (wakeirq == -EPROBE_DEFER) { +5c52473b4496b35 drivers/i2c/i2c-core-base.c Xu Yang 2025-05-07 570 status = dev_err_probe(dev, wakeirq, "can't get wakeirq\n"); +dc94c3bf033524a drivers/i2c/i2c-core-base.c Mohammad Gomaa 2025-08-17 571 err_reason = I2C_TRACE_REASON_EPROBE_DEFER_WAKEIRQ; +3c3dd56f760da05 drivers/i2c/i2c-core-base.c Alain Volmat 2020-04-30 572 goto put_sync_adapter; +3c3dd56f760da05 drivers/i2c/i2c-core-base.c Alain Volmat 2020-04-30 573 } +3fffd1283927342 drivers/i2c/i2c-core.c Dmitry Torokhov 2015-08-17 574 +3fffd1283927342 drivers/i2c/i2c-core.c Dmitry Torokhov 2015-08-17 575 device_init_wakeup(&client->dev, true); +3fffd1283927342 drivers/i2c/i2c-core.c Dmitry Torokhov 2015-08-17 576 +dc94c3bf033524a drivers/i2c/i2c-core-base.c Mohammad Gomaa 2025-08-17 577 if (wakeirq > 0 && wakeirq != client->irq) { +3fffd1283927342 drivers/i2c/i2c-core.c Dmitry Torokhov 2015-08-17 578 status = dev_pm_set_dedicated_wake_irq(dev, wakeirq); +dc94c3bf033524a drivers/i2c/i2c-core-base.c Mohammad Gomaa 2025-08-17 579 err_reason = I2C_TRACE_REASON_SET_DED_WAKE_FAILED; +dc94c3bf033524a drivers/i2c/i2c-core-base.c Mohammad Gomaa 2025-08-17 580 } else if (client->irq > 0) { +c18fba23061f16d drivers/i2c/i2c-core.c Grygorii Strashko 2015-11-12 581 status = dev_pm_set_wake_irq(dev, client->irq); +dc94c3bf033524a drivers/i2c/i2c-core-base.c Mohammad Gomaa 2025-08-17 582 err_reason = I2C_TRACE_REASON_SET_WAKE_FAILED; +dc94c3bf033524a drivers/i2c/i2c-core-base.c Mohammad Gomaa 2025-08-17 583 } else { +3fffd1283927342 drivers/i2c/i2c-core.c Dmitry Torokhov 2015-08-17 584 status = 0; +dc94c3bf033524a drivers/i2c/i2c-core-base.c Mohammad Gomaa 2025-08-17 585 err_reason = I2C_TRACE_REASON_NO_IRQ; +dc94c3bf033524a drivers/i2c/i2c-core-base.c Mohammad Gomaa 2025-08-17 586 } +3fffd1283927342 drivers/i2c/i2c-core.c Dmitry Torokhov 2015-08-17 587 +dc94c3bf033524a drivers/i2c/i2c-core-base.c Mohammad Gomaa 2025-08-17 588 if (status) { +b93d3d373924670 drivers/i2c/i2c-core.c Andy Shevchenko 2016-08-25 589 dev_warn(&client->dev, "failed to set up wakeup irq\n"); +dc94c3bf033524a drivers/i2c/i2c-core-base.c Mohammad Gomaa 2025-08-17 590 trace_i2c_device_probe_debug(&client->dev, err_reason); +dc94c3bf033524a drivers/i2c/i2c-core-base.c Mohammad Gomaa 2025-08-17 591 } +3fffd1283927342 drivers/i2c/i2c-core.c Dmitry Torokhov 2015-08-17 592 } +3fffd1283927342 drivers/i2c/i2c-core.c Dmitry Torokhov 2015-08-17 593 +7b4fbc50fabb810 drivers/i2c/i2c-core.c David Brownell 2007-05-01 594 dev_dbg(dev, "probe\n"); +d2653e92732bd39 drivers/i2c/i2c-core.c Jean Delvare 2008-04-29 595 +3435b7f0fd28b9c drivers/i2c/i2c-core-base.c Andy Shevchenko 2025-04-16 596 status = of_clk_set_defaults(to_of_node(fwnode), false); +dc94c3bf033524a drivers/i2c/i2c-core-base.c Mohammad Gomaa 2025-08-17 597 if (status < 0) { +dc94c3bf033524a drivers/i2c/i2c-core-base.c Mohammad Gomaa 2025-08-17 598 err_reason = I2C_TRACE_REASON_SET_DEF_CLOCKS; +3fffd1283927342 drivers/i2c/i2c-core.c Dmitry Torokhov 2015-08-17 599 goto err_clear_wakeup_irq; +dc94c3bf033524a drivers/i2c/i2c-core-base.c Mohammad Gomaa 2025-08-17 600 } +79ece9b292af6b0 drivers/i2c/i2c-core-base.c Ricardo Ribalda 2022-11-14 601 do_power_on = !i2c_acpi_waive_d0_probe(dev); +d42c7c6fd66a6e2 drivers/i2c/i2c-core-base.c Claudiu Beznea 2025-07-03 602 status = dev_pm_domain_attach(&client->dev, do_power_on ? PD_FLAG_ATTACH_POWER_ON : 0); +dc94c3bf033524a drivers/i2c/i2c-core-base.c Mohammad Gomaa 2025-08-17 603 if (status) { +dc94c3bf033524a drivers/i2c/i2c-core-base.c Mohammad Gomaa 2025-08-17 604 err_reason = I2C_TRACE_REASON_ATTACH_PM_DOMAIN; +74cedd30522819d drivers/i2c/i2c-core.c Kieran Bingham 2015-10-12 605 goto err_clear_wakeup_irq; +dc94c3bf033524a drivers/i2c/i2c-core-base.c Mohammad Gomaa 2025-08-17 606 } +5b5475826c5265c drivers/i2c/i2c-core-base.c Dmitry Torokhov 2021-03-21 607 client->devres_group_id = devres_open_group(&client->dev, NULL, +5b5475826c5265c drivers/i2c/i2c-core-base.c Dmitry Torokhov 2021-03-21 608 GFP_KERNEL); +5b5475826c5265c drivers/i2c/i2c-core-base.c Dmitry Torokhov 2021-03-21 609 if (!client->devres_group_id) { +5b5475826c5265c drivers/i2c/i2c-core-base.c Dmitry Torokhov 2021-03-21 610 status = -ENOMEM; +dc94c3bf033524a drivers/i2c/i2c-core-base.c Mohammad Gomaa 2025-08-17 611 err_reason = I2C_TRACE_REASON_OPEN_DEVRES_GROUP; +5b5475826c5265c drivers/i2c/i2c-core-base.c Dmitry Torokhov 2021-03-21 612 goto err_detach_pm_domain; +5b5475826c5265c drivers/i2c/i2c-core-base.c Dmitry Torokhov 2021-03-21 613 } +5b5475826c5265c drivers/i2c/i2c-core-base.c Dmitry Torokhov 2021-03-21 614 +6250ebe666e425e drivers/i2c/i2c-core-base.c Guenter Roeck 2025-01-25 615 client->debugfs = debugfs_create_dir(dev_name(&client->dev), +6250ebe666e425e drivers/i2c/i2c-core-base.c Guenter Roeck 2025-01-25 616 client->adapter->debugfs); +6250ebe666e425e drivers/i2c/i2c-core-base.c Guenter Roeck 2025-01-25 617 +dc94c3bf033524a drivers/i2c/i2c-core-base.c Mohammad Gomaa 2025-08-17 618 if (driver->probe) { +03c835f498b5400 drivers/i2c/i2c-core-base.c Uwe Kleine-König 2023-02-26 619 status = driver->probe(client); +dc94c3bf033524a drivers/i2c/i2c-core-base.c Mohammad Gomaa 2025-08-17 620 err_reason = I2C_TRACE_REASON_PROBE_FAILED; +dc94c3bf033524a drivers/i2c/i2c-core-base.c Mohammad Gomaa 2025-08-17 621 } else { +b8a1a4cd5a98a2a drivers/i2c/i2c-core.c Lee Jones 2016-11-07 622 status = -EINVAL; +dc94c3bf033524a drivers/i2c/i2c-core-base.c Mohammad Gomaa 2025-08-17 623 err_reason = I2C_TRACE_REASON_NO_PROBE; +dc94c3bf033524a drivers/i2c/i2c-core-base.c Mohammad Gomaa 2025-08-17 624 } +b8a1a4cd5a98a2a drivers/i2c/i2c-core.c Lee Jones 2016-11-07 625 +5b5475826c5265c drivers/i2c/i2c-core-base.c Dmitry Torokhov 2021-03-21 626 /* +5b5475826c5265c drivers/i2c/i2c-core-base.c Dmitry Torokhov 2021-03-21 627 * Note that we are not closing the devres group opened above so +5b5475826c5265c drivers/i2c/i2c-core-base.c Dmitry Torokhov 2021-03-21 628 * even resources that were attached to the device after probe is +5b5475826c5265c drivers/i2c/i2c-core-base.c Dmitry Torokhov 2021-03-21 629 * run are released when i2c_device_remove() is executed. This is +5b5475826c5265c drivers/i2c/i2c-core-base.c Dmitry Torokhov 2021-03-21 630 * needed as some drivers would allocate additional resources, +5b5475826c5265c drivers/i2c/i2c-core-base.c Dmitry Torokhov 2021-03-21 631 * for example when updating firmware. +5b5475826c5265c drivers/i2c/i2c-core-base.c Dmitry Torokhov 2021-03-21 632 */ +5b5475826c5265c drivers/i2c/i2c-core-base.c Dmitry Torokhov 2021-03-21 633 +72fa818e8a3145a drivers/i2c/i2c-core.c Wolfram Sang 2014-01-21 634 if (status) +5b5475826c5265c drivers/i2c/i2c-core-base.c Dmitry Torokhov 2021-03-21 635 goto err_release_driver_resources; +72fa818e8a3145a drivers/i2c/i2c-core.c Wolfram Sang 2014-01-21 636 +dc94c3bf033524a drivers/i2c/i2c-core-base.c Mohammad Gomaa 2025-08-17 637 trace_i2c_device_probe_complete(&client->dev, status, err_reason); +dc94c3bf033524a drivers/i2c/i2c-core-base.c Mohammad Gomaa 2025-08-17 638 +3fffd1283927342 drivers/i2c/i2c-core.c Dmitry Torokhov 2015-08-17 639 return 0; +3fffd1283927342 drivers/i2c/i2c-core.c Dmitry Torokhov 2015-08-17 640 +5b5475826c5265c drivers/i2c/i2c-core-base.c Dmitry Torokhov 2021-03-21 641 err_release_driver_resources: +6250ebe666e425e drivers/i2c/i2c-core-base.c Guenter Roeck 2025-01-25 642 debugfs_remove_recursive(client->debugfs); +5b5475826c5265c drivers/i2c/i2c-core-base.c Dmitry Torokhov 2021-03-21 643 devres_release_group(&client->dev, client->devres_group_id); +3fffd1283927342 drivers/i2c/i2c-core.c Dmitry Torokhov 2015-08-17 644 err_detach_pm_domain: +79ece9b292af6b0 drivers/i2c/i2c-core-base.c Ricardo Ribalda 2022-11-14 645 dev_pm_domain_detach(&client->dev, do_power_on); +3fffd1283927342 drivers/i2c/i2c-core.c Dmitry Torokhov 2015-08-17 646 err_clear_wakeup_irq: +3fffd1283927342 drivers/i2c/i2c-core.c Dmitry Torokhov 2015-08-17 647 dev_pm_clear_wake_irq(&client->dev); +3fffd1283927342 drivers/i2c/i2c-core.c Dmitry Torokhov 2015-08-17 648 device_init_wakeup(&client->dev, false); +3c3dd56f760da05 drivers/i2c/i2c-core-base.c Alain Volmat 2020-04-30 649 put_sync_adapter: +3c3dd56f760da05 drivers/i2c/i2c-core-base.c Alain Volmat 2020-04-30 650 if (client->flags & I2C_CLIENT_HOST_NOTIFY) +3c3dd56f760da05 drivers/i2c/i2c-core-base.c Alain Volmat 2020-04-30 651 pm_runtime_put_sync(&client->adapter->dev); +3c3dd56f760da05 drivers/i2c/i2c-core-base.c Alain Volmat 2020-04-30 652 +dc94c3bf033524a drivers/i2c/i2c-core-base.c Mohammad Gomaa 2025-08-17 653 trace_i2c_device_probe_complete(&client->dev, status, err_reason); +dc94c3bf033524a drivers/i2c/i2c-core-base.c Mohammad Gomaa 2025-08-17 654 +50c3304a5e1e521 drivers/i2c/i2c-core.c Hans Verkuil 2008-03-12 655 return status; +f37dd80ac2a67e4 drivers/i2c/i2c-core.c David Brownell 2007-02-13 656 } +^1da177e4c3f415 drivers/i2c/i2c-core.c Linus Torvalds 2005-04-16 657 -- 0-DAY CI Kernel Test Service diff --git a/a/content_digest b/N1/content_digest index e574b2f..b39ba3d 100644 --- a/a/content_digest +++ b/N1/content_digest @@ -1,39 +1,47 @@ - "ref\020250817-refactor-add-i2c-tracepoints-v2-1-c0bad299e02e@gmail.com\0" - "From\0Dan Carpenter <dan.carpenter@linaro.org>\0" + "From\0kernel test robot <lkp@intel.com>\0" "Subject\0Re: [PATCH WIP v2] i2c: add tracepoints to aid debugging in i2c-core-base\0" - "Date\0Mon, 18 Aug 2025 10:19:41 +0300\0" - "To\0oe-kbuild@lists.linux.dev" - Mohammad Gomaa <midomaxgomaa@gmail.com> - Wolfram Sang <wsa-dev@sang-engineering.com> - Steven Rostedt <rostedt@goodmis.org> - Masami Hiramatsu <mhiramat@kernel.org> - " Mathieu Desnoyers <mathieu.desnoyers@efficios.com>\0" + "Date\0Mon, 18 Aug 2025 13:52:37 +0800\0" + "To\0oe-kbuild@lists.linux.dev\0" "Cc\0lkp@intel.com" - oe-kbuild-all@lists.linux.dev - linux-i2c@vger.kernel.org - linux-kernel@vger.kernel.org - linux-trace-kernel@vger.kernel.org - kenalba@google.com - hbarnor@chromium.org - rayxu@google.com - " Mohammad Gomaa <midomaxgomaa@gmail.com>\0" + " Dan Carpenter <error27@gmail.com>\0" "\00:1\0" "b\0" + "BCC: lkp@intel.com\n" + "CC: oe-kbuild-all@lists.linux.dev\n" + "In-Reply-To: <20250817-refactor-add-i2c-tracepoints-v2-1-c0bad299e02e@gmail.com>\n" + "References: <20250817-refactor-add-i2c-tracepoints-v2-1-c0bad299e02e@gmail.com>\n" + "TO: Mohammad Gomaa <midomaxgomaa@gmail.com>\n" + "TO: Wolfram Sang <wsa-dev@sang-engineering.com>\n" + "TO: Steven Rostedt <rostedt@goodmis.org>\n" + "TO: Masami Hiramatsu <mhiramat@kernel.org>\n" + "TO: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>\n" + "CC: linux-i2c@vger.kernel.org\n" + "CC: linux-kernel@vger.kernel.org\n" + "CC: linux-trace-kernel@vger.kernel.org\n" + "CC: kenalba@google.com\n" + "CC: hbarnor@chromium.org\n" + "CC: rayxu@google.com\n" + "CC: Mohammad Gomaa <midomaxgomaa@gmail.com>\n" + "\n" "Hi Mohammad,\n" "\n" "kernel test robot noticed the following build warnings:\n" "\n" + "[auto build test WARNING on 7e161a991ea71e6ec526abc8f40c6852ebe3d946]\n" + "\n" "url: https://github.com/intel-lab-lkp/linux/commits/Mohammad-Gomaa/i2c-add-tracepoints-to-aid-debugging-in-i2c-core-base/20250817-155936\n" "base: 7e161a991ea71e6ec526abc8f40c6852ebe3d946\n" "patch link: https://lore.kernel.org/r/20250817-refactor-add-i2c-tracepoints-v2-1-c0bad299e02e%40gmail.com\n" "patch subject: [PATCH WIP v2] i2c: add tracepoints to aid debugging in i2c-core-base\n" + ":::::: branch date: 24 hours ago\n" + ":::::: commit date: 24 hours ago\n" "config: x86_64-randconfig-161-20250818 (https://download.01.org/0day-ci/archive/20250818/202508181525.GKAXMVYv-lkp@intel.com/config)\n" "compiler: gcc-12 (Debian 12.2.0-14+deb12u1) 12.2.0\n" "\n" "If you fix the issue in a separate patch/commit (i.e. not just a new version of\n" "the same patch/commit), kindly add following tags\n" "| Reported-by: kernel test robot <lkp@intel.com>\n" - "| Reported-by: Dan Carpenter <dan.carpenter@linaro.org>\n" + "| Reported-by: Dan Carpenter <error27@gmail.com>\n" "| Closes: https://lore.kernel.org/r/202508181525.GKAXMVYv-lkp@intel.com/\n" "\n" "smatch warnings:\n" @@ -41,6 +49,7 @@ "\n" "vim +/err_reason +535 drivers/i2c/i2c-core-base.c\n" "\n" + "4d5538f5882a6b6 drivers/i2c/i2c-core.c Benjamin Tissoires 2016-10-13 490 \n" "f37dd80ac2a67e4 drivers/i2c/i2c-core.c David Brownell 2007-02-13 491 static int i2c_device_probe(struct device *dev)\n" "^1da177e4c3f415 drivers/i2c/i2c-core.c Linus Torvalds 2005-04-16 492 {\n" "5763a474c887d4a drivers/i2c/i2c-core-base.c Andy Shevchenko 2025-04-16 493 \tstruct fwnode_handle\t*fwnode = dev_fwnode(dev);\n" @@ -78,9 +87,6 @@ "b38f2d5d9615cf9 drivers/i2c/i2c-core-base.c Raul E Rangel 2022-09-29 525 \t\t\t\tclient->flags |= I2C_CLIENT_WAKE;\n" "dc94c3bf033524a drivers/i2c/i2c-core-base.c Mohammad Gomaa 2025-08-17 526 \t\t\terr_reason = I2C_TRACE_REASON_FROM_ACPI;\n" "3fffd1283927342 drivers/i2c/i2c-core.c Dmitry Torokhov 2015-08-17 527 \t\t}\n" - "\n" - "err_reason not set on else { path.\n" - "\n" "3c3dd56f760da05 drivers/i2c/i2c-core-base.c Alain Volmat 2020-04-30 528 \t\tif (irq == -EPROBE_DEFER) {\n" "5c52473b4496b35 drivers/i2c/i2c-core-base.c Xu Yang 2025-05-07 529 \t\t\tstatus = dev_err_probe(dev, irq, \"can't get irq\\n\");\n" "dc94c3bf033524a drivers/i2c/i2c-core-base.c Mohammad Gomaa 2025-08-17 530 \t\t\terr_reason = I2C_TRACE_REASON_EPROBE_DEFER_IRQ;\n" @@ -89,8 +95,6 @@ "331c34255293cd0 drivers/i2c/i2c-core.c Dmitry Torokhov 2017-01-04 533 \n" "dc94c3bf033524a drivers/i2c/i2c-core-base.c Mohammad Gomaa 2025-08-17 534 \t\tif (irq < 0) {\n" "dc94c3bf033524a drivers/i2c/i2c-core-base.c Mohammad Gomaa 2025-08-17 @535 \t\t\ttrace_i2c_device_probe_debug(dev, err_reason);\n" - " ^^^^^^^^^^\n" - "\n" "6f34be7400c68d3 drivers/i2c/i2c-core.c Geert Uytterhoeven 2014-11-17 536 \t\t\tirq = 0;\n" "dc94c3bf033524a drivers/i2c/i2c-core-base.c Mohammad Gomaa 2025-08-17 537 \t\t}\n" "2fd36c55264926e drivers/i2c/i2c-core.c Laurent Pinchart 2014-10-30 538 \n" @@ -100,9 +104,122 @@ "0c2a34937f7e4c4 drivers/i2c/i2c-core-base.c Wolfram Sang 2020-06-30 542 \tdriver = to_i2c_driver(dev->driver);\n" "0c2a34937f7e4c4 drivers/i2c/i2c-core-base.c Wolfram Sang 2020-06-30 543 \n" "dc94c3bf033524a drivers/i2c/i2c-core-base.c Mohammad Gomaa 2025-08-17 544 \thas_id_table = driver->id_table;\n" + "dc94c3bf033524a drivers/i2c/i2c-core-base.c Mohammad Gomaa 2025-08-17 545 \thas_acpi_match = acpi_driver_match_device(dev, dev->driver);\n" + "dc94c3bf033524a drivers/i2c/i2c-core-base.c Mohammad Gomaa 2025-08-17 546 \thas_of_match = i2c_of_match_device(dev->driver->of_match_table, client);\n" + "dc94c3bf033524a drivers/i2c/i2c-core-base.c Mohammad Gomaa 2025-08-17 547 \n" + "dc94c3bf033524a drivers/i2c/i2c-core-base.c Mohammad Gomaa 2025-08-17 548 \tif (!has_id_table)\n" + "dc94c3bf033524a drivers/i2c/i2c-core-base.c Mohammad Gomaa 2025-08-17 549 \t\ttrace_i2c_device_probe_debug(dev, I2C_TRACE_REASON_NO_I2C_ID_TABLE);\n" + "dc94c3bf033524a drivers/i2c/i2c-core-base.c Mohammad Gomaa 2025-08-17 550 \tif (!has_acpi_match)\n" + "dc94c3bf033524a drivers/i2c/i2c-core-base.c Mohammad Gomaa 2025-08-17 551 \t\ttrace_i2c_device_probe_debug(dev, I2C_TRACE_REASON_ACPI_ID_MISMATCH);\n" + "dc94c3bf033524a drivers/i2c/i2c-core-base.c Mohammad Gomaa 2025-08-17 552 \tif (!has_of_match)\n" + "dc94c3bf033524a drivers/i2c/i2c-core-base.c Mohammad Gomaa 2025-08-17 553 \t\ttrace_i2c_device_probe_debug(dev, I2C_TRACE_REASON_OF_ID_MISMATCH);\n" + "dc94c3bf033524a drivers/i2c/i2c-core-base.c Mohammad Gomaa 2025-08-17 554 \n" + "da10c06a044b375 drivers/i2c/i2c-core.c Lee Jones 2016-11-07 555 \t/*\n" + "f4b17a14faeec41 drivers/i2c/i2c-core-base.c Javier Martinez Canillas 2017-08-09 556 \t * An I2C ID table is not mandatory, if and only if, a suitable OF\n" + "f4b17a14faeec41 drivers/i2c/i2c-core-base.c Javier Martinez Canillas 2017-08-09 557 \t * or ACPI ID table is supplied for the probing device.\n" + "da10c06a044b375 drivers/i2c/i2c-core.c Lee Jones 2016-11-07 558 \t */\n" + "dc94c3bf033524a drivers/i2c/i2c-core-base.c Mohammad Gomaa 2025-08-17 559 \tif (!has_id_table && !has_acpi_match && !has_of_match) {\n" + "3c3dd56f760da05 drivers/i2c/i2c-core-base.c Alain Volmat 2020-04-30 560 \t\tstatus = -ENODEV;\n" + "dc94c3bf033524a drivers/i2c/i2c-core-base.c Mohammad Gomaa 2025-08-17 561 \t\terr_reason = I2C_TRACE_REASON_NO_ID_MATCH;\n" + "3c3dd56f760da05 drivers/i2c/i2c-core-base.c Alain Volmat 2020-04-30 562 \t\tgoto put_sync_adapter;\n" + "3c3dd56f760da05 drivers/i2c/i2c-core-base.c Alain Volmat 2020-04-30 563 \t}\n" + "0acc2b321342aa8 drivers/i2c/i2c-core.c Lars-Peter Clausen 2013-09-29 564 \n" + "3fffd1283927342 drivers/i2c/i2c-core.c Dmitry Torokhov 2015-08-17 565 \tif (client->flags & I2C_CLIENT_WAKE) {\n" + "3e99834cc0c7f06 drivers/i2c/i2c-core-base.c Andy Shevchenko 2019-07-26 566 \t\tint wakeirq;\n" + "3fffd1283927342 drivers/i2c/i2c-core.c Dmitry Torokhov 2015-08-17 567 \n" + "5d9424b00b577b6 drivers/i2c/i2c-core-base.c Andy Shevchenko 2025-04-16 568 \t\twakeirq = fwnode_irq_get_byname(fwnode, \"wakeup\");\n" + "3c3dd56f760da05 drivers/i2c/i2c-core-base.c Alain Volmat 2020-04-30 569 \t\tif (wakeirq == -EPROBE_DEFER) {\n" + "5c52473b4496b35 drivers/i2c/i2c-core-base.c Xu Yang 2025-05-07 570 \t\t\tstatus = dev_err_probe(dev, wakeirq, \"can't get wakeirq\\n\");\n" + "dc94c3bf033524a drivers/i2c/i2c-core-base.c Mohammad Gomaa 2025-08-17 571 \t\t\terr_reason = I2C_TRACE_REASON_EPROBE_DEFER_WAKEIRQ;\n" + "3c3dd56f760da05 drivers/i2c/i2c-core-base.c Alain Volmat 2020-04-30 572 \t\t\tgoto put_sync_adapter;\n" + "3c3dd56f760da05 drivers/i2c/i2c-core-base.c Alain Volmat 2020-04-30 573 \t\t}\n" + "3fffd1283927342 drivers/i2c/i2c-core.c Dmitry Torokhov 2015-08-17 574 \n" + "3fffd1283927342 drivers/i2c/i2c-core.c Dmitry Torokhov 2015-08-17 575 \t\tdevice_init_wakeup(&client->dev, true);\n" + "3fffd1283927342 drivers/i2c/i2c-core.c Dmitry Torokhov 2015-08-17 576 \n" + "dc94c3bf033524a drivers/i2c/i2c-core-base.c Mohammad Gomaa 2025-08-17 577 \t\tif (wakeirq > 0 && wakeirq != client->irq) {\n" + "3fffd1283927342 drivers/i2c/i2c-core.c Dmitry Torokhov 2015-08-17 578 \t\t\tstatus = dev_pm_set_dedicated_wake_irq(dev, wakeirq);\n" + "dc94c3bf033524a drivers/i2c/i2c-core-base.c Mohammad Gomaa 2025-08-17 579 \t\t\terr_reason = I2C_TRACE_REASON_SET_DED_WAKE_FAILED;\n" + "dc94c3bf033524a drivers/i2c/i2c-core-base.c Mohammad Gomaa 2025-08-17 580 \t\t} else if (client->irq > 0) {\n" + "c18fba23061f16d drivers/i2c/i2c-core.c Grygorii Strashko 2015-11-12 581 \t\t\tstatus = dev_pm_set_wake_irq(dev, client->irq);\n" + "dc94c3bf033524a drivers/i2c/i2c-core-base.c Mohammad Gomaa 2025-08-17 582 \t\t\terr_reason = I2C_TRACE_REASON_SET_WAKE_FAILED;\n" + "dc94c3bf033524a drivers/i2c/i2c-core-base.c Mohammad Gomaa 2025-08-17 583 \t\t} else {\n" + "3fffd1283927342 drivers/i2c/i2c-core.c Dmitry Torokhov 2015-08-17 584 \t\t\tstatus = 0;\n" + "dc94c3bf033524a drivers/i2c/i2c-core-base.c Mohammad Gomaa 2025-08-17 585 \t\t\terr_reason = I2C_TRACE_REASON_NO_IRQ;\n" + "dc94c3bf033524a drivers/i2c/i2c-core-base.c Mohammad Gomaa 2025-08-17 586 \t\t}\n" + "3fffd1283927342 drivers/i2c/i2c-core.c Dmitry Torokhov 2015-08-17 587 \n" + "dc94c3bf033524a drivers/i2c/i2c-core-base.c Mohammad Gomaa 2025-08-17 588 \t\tif (status) {\n" + "b93d3d373924670 drivers/i2c/i2c-core.c Andy Shevchenko 2016-08-25 589 \t\t\tdev_warn(&client->dev, \"failed to set up wakeup irq\\n\");\n" + "dc94c3bf033524a drivers/i2c/i2c-core-base.c Mohammad Gomaa 2025-08-17 590 \t\t\ttrace_i2c_device_probe_debug(&client->dev, err_reason);\n" + "dc94c3bf033524a drivers/i2c/i2c-core-base.c Mohammad Gomaa 2025-08-17 591 \t\t}\n" + "3fffd1283927342 drivers/i2c/i2c-core.c Dmitry Torokhov 2015-08-17 592 \t}\n" + "3fffd1283927342 drivers/i2c/i2c-core.c Dmitry Torokhov 2015-08-17 593 \n" + "7b4fbc50fabb810 drivers/i2c/i2c-core.c David Brownell 2007-05-01 594 \tdev_dbg(dev, \"probe\\n\");\n" + "d2653e92732bd39 drivers/i2c/i2c-core.c Jean Delvare 2008-04-29 595 \n" + "3435b7f0fd28b9c drivers/i2c/i2c-core-base.c Andy Shevchenko 2025-04-16 596 \tstatus = of_clk_set_defaults(to_of_node(fwnode), false);\n" + "dc94c3bf033524a drivers/i2c/i2c-core-base.c Mohammad Gomaa 2025-08-17 597 \tif (status < 0) {\n" + "dc94c3bf033524a drivers/i2c/i2c-core-base.c Mohammad Gomaa 2025-08-17 598 \t\terr_reason = I2C_TRACE_REASON_SET_DEF_CLOCKS;\n" + "3fffd1283927342 drivers/i2c/i2c-core.c Dmitry Torokhov 2015-08-17 599 \t\tgoto err_clear_wakeup_irq;\n" + "dc94c3bf033524a drivers/i2c/i2c-core-base.c Mohammad Gomaa 2025-08-17 600 \t}\n" + "79ece9b292af6b0 drivers/i2c/i2c-core-base.c Ricardo Ribalda 2022-11-14 601 \tdo_power_on = !i2c_acpi_waive_d0_probe(dev);\n" + "d42c7c6fd66a6e2 drivers/i2c/i2c-core-base.c Claudiu Beznea 2025-07-03 602 \tstatus = dev_pm_domain_attach(&client->dev, do_power_on ? PD_FLAG_ATTACH_POWER_ON : 0);\n" + "dc94c3bf033524a drivers/i2c/i2c-core-base.c Mohammad Gomaa 2025-08-17 603 \tif (status) {\n" + "dc94c3bf033524a drivers/i2c/i2c-core-base.c Mohammad Gomaa 2025-08-17 604 \t\terr_reason = I2C_TRACE_REASON_ATTACH_PM_DOMAIN;\n" + "74cedd30522819d drivers/i2c/i2c-core.c Kieran Bingham 2015-10-12 605 \t\tgoto err_clear_wakeup_irq;\n" + "dc94c3bf033524a drivers/i2c/i2c-core-base.c Mohammad Gomaa 2025-08-17 606 \t}\n" + "5b5475826c5265c drivers/i2c/i2c-core-base.c Dmitry Torokhov 2021-03-21 607 \tclient->devres_group_id = devres_open_group(&client->dev, NULL,\n" + "5b5475826c5265c drivers/i2c/i2c-core-base.c Dmitry Torokhov 2021-03-21 608 \t\t\t\t\t\t GFP_KERNEL);\n" + "5b5475826c5265c drivers/i2c/i2c-core-base.c Dmitry Torokhov 2021-03-21 609 \tif (!client->devres_group_id) {\n" + "5b5475826c5265c drivers/i2c/i2c-core-base.c Dmitry Torokhov 2021-03-21 610 \t\tstatus = -ENOMEM;\n" + "dc94c3bf033524a drivers/i2c/i2c-core-base.c Mohammad Gomaa 2025-08-17 611 \t\terr_reason = I2C_TRACE_REASON_OPEN_DEVRES_GROUP;\n" + "5b5475826c5265c drivers/i2c/i2c-core-base.c Dmitry Torokhov 2021-03-21 612 \t\tgoto err_detach_pm_domain;\n" + "5b5475826c5265c drivers/i2c/i2c-core-base.c Dmitry Torokhov 2021-03-21 613 \t}\n" + "5b5475826c5265c drivers/i2c/i2c-core-base.c Dmitry Torokhov 2021-03-21 614 \n" + "6250ebe666e425e drivers/i2c/i2c-core-base.c Guenter Roeck 2025-01-25 615 \tclient->debugfs = debugfs_create_dir(dev_name(&client->dev),\n" + "6250ebe666e425e drivers/i2c/i2c-core-base.c Guenter Roeck 2025-01-25 616 \t\t\t\t\t client->adapter->debugfs);\n" + "6250ebe666e425e drivers/i2c/i2c-core-base.c Guenter Roeck 2025-01-25 617 \n" + "dc94c3bf033524a drivers/i2c/i2c-core-base.c Mohammad Gomaa 2025-08-17 618 \tif (driver->probe) {\n" + "03c835f498b5400 drivers/i2c/i2c-core-base.c Uwe Kleine-K\303\266nig 2023-02-26 619 \t\tstatus = driver->probe(client);\n" + "dc94c3bf033524a drivers/i2c/i2c-core-base.c Mohammad Gomaa 2025-08-17 620 \t\terr_reason = I2C_TRACE_REASON_PROBE_FAILED;\n" + "dc94c3bf033524a drivers/i2c/i2c-core-base.c Mohammad Gomaa 2025-08-17 621 \t} else {\n" + "b8a1a4cd5a98a2a drivers/i2c/i2c-core.c Lee Jones 2016-11-07 622 \t\tstatus = -EINVAL;\n" + "dc94c3bf033524a drivers/i2c/i2c-core-base.c Mohammad Gomaa 2025-08-17 623 \t\terr_reason = I2C_TRACE_REASON_NO_PROBE;\n" + "dc94c3bf033524a drivers/i2c/i2c-core-base.c Mohammad Gomaa 2025-08-17 624 \t}\n" + "b8a1a4cd5a98a2a drivers/i2c/i2c-core.c Lee Jones 2016-11-07 625 \n" + "5b5475826c5265c drivers/i2c/i2c-core-base.c Dmitry Torokhov 2021-03-21 626 \t/*\n" + "5b5475826c5265c drivers/i2c/i2c-core-base.c Dmitry Torokhov 2021-03-21 627 \t * Note that we are not closing the devres group opened above so\n" + "5b5475826c5265c drivers/i2c/i2c-core-base.c Dmitry Torokhov 2021-03-21 628 \t * even resources that were attached to the device after probe is\n" + "5b5475826c5265c drivers/i2c/i2c-core-base.c Dmitry Torokhov 2021-03-21 629 \t * run are released when i2c_device_remove() is executed. This is\n" + "5b5475826c5265c drivers/i2c/i2c-core-base.c Dmitry Torokhov 2021-03-21 630 \t * needed as some drivers would allocate additional resources,\n" + "5b5475826c5265c drivers/i2c/i2c-core-base.c Dmitry Torokhov 2021-03-21 631 \t * for example when updating firmware.\n" + "5b5475826c5265c drivers/i2c/i2c-core-base.c Dmitry Torokhov 2021-03-21 632 \t */\n" + "5b5475826c5265c drivers/i2c/i2c-core-base.c Dmitry Torokhov 2021-03-21 633 \n" + "72fa818e8a3145a drivers/i2c/i2c-core.c Wolfram Sang 2014-01-21 634 \tif (status)\n" + "5b5475826c5265c drivers/i2c/i2c-core-base.c Dmitry Torokhov 2021-03-21 635 \t\tgoto err_release_driver_resources;\n" + "72fa818e8a3145a drivers/i2c/i2c-core.c Wolfram Sang 2014-01-21 636 \n" + "dc94c3bf033524a drivers/i2c/i2c-core-base.c Mohammad Gomaa 2025-08-17 637 \ttrace_i2c_device_probe_complete(&client->dev, status, err_reason);\n" + "dc94c3bf033524a drivers/i2c/i2c-core-base.c Mohammad Gomaa 2025-08-17 638 \n" + "3fffd1283927342 drivers/i2c/i2c-core.c Dmitry Torokhov 2015-08-17 639 \treturn 0;\n" + "3fffd1283927342 drivers/i2c/i2c-core.c Dmitry Torokhov 2015-08-17 640 \n" + "5b5475826c5265c drivers/i2c/i2c-core-base.c Dmitry Torokhov 2021-03-21 641 err_release_driver_resources:\n" + "6250ebe666e425e drivers/i2c/i2c-core-base.c Guenter Roeck 2025-01-25 642 \tdebugfs_remove_recursive(client->debugfs);\n" + "5b5475826c5265c drivers/i2c/i2c-core-base.c Dmitry Torokhov 2021-03-21 643 \tdevres_release_group(&client->dev, client->devres_group_id);\n" + "3fffd1283927342 drivers/i2c/i2c-core.c Dmitry Torokhov 2015-08-17 644 err_detach_pm_domain:\n" + "79ece9b292af6b0 drivers/i2c/i2c-core-base.c Ricardo Ribalda 2022-11-14 645 \tdev_pm_domain_detach(&client->dev, do_power_on);\n" + "3fffd1283927342 drivers/i2c/i2c-core.c Dmitry Torokhov 2015-08-17 646 err_clear_wakeup_irq:\n" + "3fffd1283927342 drivers/i2c/i2c-core.c Dmitry Torokhov 2015-08-17 647 \tdev_pm_clear_wake_irq(&client->dev);\n" + "3fffd1283927342 drivers/i2c/i2c-core.c Dmitry Torokhov 2015-08-17 648 \tdevice_init_wakeup(&client->dev, false);\n" + "3c3dd56f760da05 drivers/i2c/i2c-core-base.c Alain Volmat 2020-04-30 649 put_sync_adapter:\n" + "3c3dd56f760da05 drivers/i2c/i2c-core-base.c Alain Volmat 2020-04-30 650 \tif (client->flags & I2C_CLIENT_HOST_NOTIFY)\n" + "3c3dd56f760da05 drivers/i2c/i2c-core-base.c Alain Volmat 2020-04-30 651 \t\tpm_runtime_put_sync(&client->adapter->dev);\n" + "3c3dd56f760da05 drivers/i2c/i2c-core-base.c Alain Volmat 2020-04-30 652 \n" + "dc94c3bf033524a drivers/i2c/i2c-core-base.c Mohammad Gomaa 2025-08-17 653 \ttrace_i2c_device_probe_complete(&client->dev, status, err_reason);\n" + "dc94c3bf033524a drivers/i2c/i2c-core-base.c Mohammad Gomaa 2025-08-17 654 \n" + "50c3304a5e1e521 drivers/i2c/i2c-core.c Hans Verkuil 2008-03-12 655 \treturn status;\n" + "f37dd80ac2a67e4 drivers/i2c/i2c-core.c David Brownell 2007-02-13 656 }\n" + "^1da177e4c3f415 drivers/i2c/i2c-core.c Linus Torvalds 2005-04-16 657 \n" "\n" "-- \n" "0-DAY CI Kernel Test Service\n" https://github.com/intel/lkp-tests/wiki -194ee28cc74d51971ea23ffd524b039fb45ea3a0797eac4b4ddea4db9ab3792d +b99f20ab7548af225d473fc35682cff893a84c500982493a37a8aca208a699e9
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.