[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <202508181525.GKAXMVYv-lkp@intel.com>
Date: Mon, 18 Aug 2025 10:19:41 +0300
From: Dan Carpenter <dan.carpenter@...aro.org>
To: oe-kbuild@...ts.linux.dev, Mohammad Gomaa <midomaxgomaa@...il.com>,
Wolfram Sang <wsa-dev@...g-engineering.com>,
Steven Rostedt <rostedt@...dmis.org>,
Masami Hiramatsu <mhiramat@...nel.org>,
Mathieu Desnoyers <mathieu.desnoyers@...icios.com>
Cc: lkp@...el.com, oe-kbuild-all@...ts.linux.dev, linux-i2c@...r.kernel.org,
linux-kernel@...r.kernel.org, linux-trace-kernel@...r.kernel.org,
kenalba@...gle.com, hbarnor@...omium.org, rayxu@...gle.com,
Mohammad Gomaa <midomaxgomaa@...il.com>
Subject: Re: [PATCH WIP v2] i2c: add tracepoints to aid debugging in
i2c-core-base
Hi Mohammad,
kernel test robot noticed the following build warnings:
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
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@...el.com>
| Reported-by: Dan Carpenter <dan.carpenter@...aro.org>
| Closes: https://lore.kernel.org/r/202508181525.GKAXMVYv-lkp@intel.com/
smatch warnings:
drivers/i2c/i2c-core-base.c:535 i2c_device_probe() error: uninitialized symbol 'err_reason'.
vim +/err_reason +535 drivers/i2c/i2c-core-base.c
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);
51298d1257b9f0a drivers/i2c/i2c-core.c Jean Delvare 2009-09-18 494 struct i2c_client *client = i2c_verify_client(dev);
51298d1257b9f0a drivers/i2c/i2c-core.c Jean Delvare 2009-09-18 495 struct i2c_driver *driver;
79ece9b292af6b0 drivers/i2c/i2c-core-base.c Ricardo Ribalda 2022-11-14 496 bool do_power_on;
50c3304a5e1e521 drivers/i2c/i2c-core.c Hans Verkuil 2008-03-12 497 int status;
dc94c3bf033524a drivers/i2c/i2c-core-base.c Mohammad Gomaa 2025-08-17 498 int err_reason;
dc94c3bf033524a drivers/i2c/i2c-core-base.c Mohammad Gomaa 2025-08-17 499 bool has_id_table, has_acpi_match, has_of_match;
7b4fbc50fabb810 drivers/i2c/i2c-core.c David Brownell 2007-05-01 500
51298d1257b9f0a drivers/i2c/i2c-core.c Jean Delvare 2009-09-18 501 if (!client)
51298d1257b9f0a drivers/i2c/i2c-core.c Jean Delvare 2009-09-18 502 return 0;
51298d1257b9f0a drivers/i2c/i2c-core.c Jean Delvare 2009-09-18 503
6e76cb7dfd34a2e drivers/i2c/i2c-core-base.c Charles Keepax 2019-06-27 504 client->irq = client->init_irq;
6e76cb7dfd34a2e drivers/i2c/i2c-core-base.c Charles Keepax 2019-06-27 505
0c2a34937f7e4c4 drivers/i2c/i2c-core-base.c Wolfram Sang 2020-06-30 506 if (!client->irq) {
845c877009cf014 drivers/i2c/i2c-core.c Mika Westerberg 2015-05-06 507 int irq = -ENOENT;
845c877009cf014 drivers/i2c/i2c-core.c Mika Westerberg 2015-05-06 508
331c34255293cd0 drivers/i2c/i2c-core.c Dmitry Torokhov 2017-01-04 509 if (client->flags & I2C_CLIENT_HOST_NOTIFY) {
331c34255293cd0 drivers/i2c/i2c-core.c Dmitry Torokhov 2017-01-04 510 dev_dbg(dev, "Using Host Notify IRQ\n");
72bfcee11cf8950 drivers/i2c/i2c-core-base.c Jarkko Nikula 2019-04-30 511 /* Keep adapter active when Host Notify is required */
72bfcee11cf8950 drivers/i2c/i2c-core-base.c Jarkko Nikula 2019-04-30 512 pm_runtime_get_sync(&client->adapter->dev);
331c34255293cd0 drivers/i2c/i2c-core.c Dmitry Torokhov 2017-01-04 513 irq = i2c_smbus_host_notify_to_irq(client);
dc94c3bf033524a drivers/i2c/i2c-core-base.c Mohammad Gomaa 2025-08-17 514 err_reason = I2C_TRACE_REASON_HOST_NOTIFY;
5763a474c887d4a drivers/i2c/i2c-core-base.c Andy Shevchenko 2025-04-16 515 } else if (is_of_node(fwnode)) {
5d9424b00b577b6 drivers/i2c/i2c-core-base.c Andy Shevchenko 2025-04-16 516 irq = fwnode_irq_get_byname(fwnode, "irq");
3fffd1283927342 drivers/i2c/i2c-core.c Dmitry Torokhov 2015-08-17 517 if (irq == -EINVAL || irq == -ENODATA)
5d9424b00b577b6 drivers/i2c/i2c-core-base.c Andy Shevchenko 2025-04-16 518 irq = fwnode_irq_get(fwnode, 0);
dc94c3bf033524a drivers/i2c/i2c-core-base.c Mohammad Gomaa 2025-08-17 519 err_reason = I2C_TRACE_REASON_FROM_OF;
5763a474c887d4a drivers/i2c/i2c-core-base.c Andy Shevchenko 2025-04-16 520 } else if (is_acpi_device_node(fwnode)) {
b38f2d5d9615cf9 drivers/i2c/i2c-core-base.c Raul E Rangel 2022-09-29 521 bool wake_capable;
b38f2d5d9615cf9 drivers/i2c/i2c-core-base.c Raul E Rangel 2022-09-29 522
b38f2d5d9615cf9 drivers/i2c/i2c-core-base.c Raul E Rangel 2022-09-29 523 irq = i2c_acpi_get_irq(client, &wake_capable);
b38f2d5d9615cf9 drivers/i2c/i2c-core-base.c Raul E Rangel 2022-09-29 524 if (irq > 0 && wake_capable)
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;
3c3dd56f760da05 drivers/i2c/i2c-core-base.c Alain Volmat 2020-04-30 531 goto put_sync_adapter;
3c3dd56f760da05 drivers/i2c/i2c-core-base.c Alain Volmat 2020-04-30 532 }
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
2fd36c55264926e drivers/i2c/i2c-core.c Laurent Pinchart 2014-10-30 539 client->irq = irq;
2fd36c55264926e drivers/i2c/i2c-core.c Laurent Pinchart 2014-10-30 540 }
2fd36c55264926e drivers/i2c/i2c-core.c Laurent Pinchart 2014-10-30 541
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;
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
Powered by blists - more mailing lists