All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: oe-kbuild@lists.linux.dev
Cc: lkp@intel.com, Julia Lawall <julia.lawall@inria.fr>
Subject: [jic23-iio:testing 24/308] drivers/iio/accel/mma8452.c:1680:8-28: WARNING: Threaded IRQ with no primary handler requested without IRQF_ONESHOT (unless it is nested IRQ)
Date: Sun, 15 Nov 2026 09:43:44 +0100	[thread overview]
Message-ID: <202611150958.553wHmYA-lkp@intel.com> (raw)

BCC: lkp@intel.com
CC: oe-kbuild-all@lists.linux.dev
TO: Esben Haabendal <esben@geanix.com>
CC: Jonathan Cameron <jonathan.cameron@oss.qualcomm.com>
CC: Andy Shevchenko <andriy.shevchenko@intel.com>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio.git testing
head:   94921bc9eb214f838481faa847cda5c42e486013
commit: 5883de8ce9d5d7b29c8da7401e2e92de702ab441 [24/308] iio: accel: mma8452: Only apply trigger type when not set by firmware
:::::: branch date: 7 hours ago
:::::: commit date: 13 days ago
config: x86_64-randconfig-2104-20261115 (https://download.01.org/0day-ci/archive/20261115/202611150958.553wHmYA-lkp@intel.com/config)
compiler: gcc-14 (Debian 14.2.0-19) 14.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: Julia Lawall <julia.lawall@inria.fr>
| Closes: https://lore.kernel.org/r/202611150958.553wHmYA-lkp@intel.com/

cocci warnings: (new ones prefixed by >>)
>> drivers/iio/accel/mma8452.c:1680:8-28: WARNING: Threaded IRQ with no primary handler requested without IRQF_ONESHOT (unless it is nested IRQ)

vim +1680 drivers/iio/accel/mma8452.c

c3cdd6e48e35b7 Martin Kepplinger     2015-09-01  1545  
226d6dbac88336 Uwe Kleine-König      2022-11-18  1546  static int mma8452_probe(struct i2c_client *client)
c7eeea93ac60ab Peter Meerwald        2014-02-05  1547  {
32a5c04d457540 Sanjay Chitroda       2026-05-05  1548  	struct device *dev = &client->dev;
c7eeea93ac60ab Peter Meerwald        2014-02-05  1549  	struct mma8452_data *data;
c7eeea93ac60ab Peter Meerwald        2014-02-05  1550  	struct iio_dev *indio_dev;
c7eeea93ac60ab Peter Meerwald        2014-02-05  1551  	int ret;
c3cdd6e48e35b7 Martin Kepplinger     2015-09-01  1552  
a47a45567852ad Sanjay Chitroda       2026-08-08  1553  	indio_dev = devm_iio_device_alloc(dev, sizeof(*data));
c7eeea93ac60ab Peter Meerwald        2014-02-05  1554  	if (!indio_dev)
c7eeea93ac60ab Peter Meerwald        2014-02-05  1555  		return -ENOMEM;
c7eeea93ac60ab Peter Meerwald        2014-02-05  1556  
c7eeea93ac60ab Peter Meerwald        2014-02-05  1557  	data = iio_priv(indio_dev);
c7eeea93ac60ab Peter Meerwald        2014-02-05  1558  	data->client = client;
c7eeea93ac60ab Peter Meerwald        2014-02-05  1559  	mutex_init(&data->lock);
a47ac019e7e812 Hans de Goede         2022-02-08  1560  
0f8eaeda7659d0 Biju Das              2023-08-18  1561  	data->chip_info = i2c_get_match_data(client);
0f8eaeda7659d0 Biju Das              2023-08-18  1562  	if (!data->chip_info)
a47a45567852ad Sanjay Chitroda       2026-08-08  1563  		return dev_err_probe(dev, -ENODEV, "unknown device model\n");
c3cdd6e48e35b7 Martin Kepplinger     2015-09-01  1564  
a47a45567852ad Sanjay Chitroda       2026-08-08  1565  	ret = iio_read_mount_matrix(dev, &data->orientation);
b863f2e3a83f99 Hans de Goede         2022-02-08  1566  	if (ret)
b863f2e3a83f99 Hans de Goede         2022-02-08  1567  		return ret;
b863f2e3a83f99 Hans de Goede         2022-02-08  1568  
37fbab78f94fce Sanjay Chitroda       2026-08-08  1569  	data->regs[0].supply = "vdd";
37fbab78f94fce Sanjay Chitroda       2026-08-08  1570  	data->regs[1].supply = "vddio";
37fbab78f94fce Sanjay Chitroda       2026-08-08  1571  	ret = devm_regulator_bulk_get(dev, ARRAY_SIZE(data->regs), data->regs);
32a5c04d457540 Sanjay Chitroda       2026-05-05  1572  	if (ret)
37fbab78f94fce Sanjay Chitroda       2026-08-08  1573  		return dev_err_probe(dev, ret, "failed to get regulators\n");
f6ff49b8a3b6f7 Anson Huang           2019-01-08  1574  
37fbab78f94fce Sanjay Chitroda       2026-08-08  1575  	ret = regulator_bulk_enable(ARRAY_SIZE(data->regs), data->regs);
37fbab78f94fce Sanjay Chitroda       2026-08-08  1576  	if (ret)
37fbab78f94fce Sanjay Chitroda       2026-08-08  1577  		return dev_err_probe(dev, ret, "failed to enable regulators\n");
f6ff49b8a3b6f7 Anson Huang           2019-01-08  1578  
417e008ba9db7c Martin Kepplinger     2015-09-01  1579  	ret = i2c_smbus_read_byte_data(client, MMA8452_WHO_AM_I);
417e008ba9db7c Martin Kepplinger     2015-09-01  1580  	if (ret < 0)
f6ff49b8a3b6f7 Anson Huang           2019-01-08  1581  		goto disable_regulators;
417e008ba9db7c Martin Kepplinger     2015-09-01  1582  
417e008ba9db7c Martin Kepplinger     2015-09-01  1583  	switch (ret) {
244a93f651937a Martin Kepplinger     2016-01-16  1584  	case MMA8451_DEVICE_ID:
417e008ba9db7c Martin Kepplinger     2015-09-01  1585  	case MMA8452_DEVICE_ID:
417e008ba9db7c Martin Kepplinger     2015-09-01  1586  	case MMA8453_DEVICE_ID:
417e008ba9db7c Martin Kepplinger     2015-09-01  1587  	case MMA8652_DEVICE_ID:
417e008ba9db7c Martin Kepplinger     2015-09-01  1588  	case MMA8653_DEVICE_ID:
e8731180fbf6fd Martin Kepplinger     2016-03-09  1589  	case FXLS8471_DEVICE_ID:
417e008ba9db7c Martin Kepplinger     2015-09-01  1590  		if (ret == data->chip_info->chip_id)
417e008ba9db7c Martin Kepplinger     2015-09-01  1591  			break;
df561f6688fef7 Gustavo A. R. Silva   2020-08-23  1592  		fallthrough;
417e008ba9db7c Martin Kepplinger     2015-09-01  1593  	default:
f6ff49b8a3b6f7 Anson Huang           2019-01-08  1594  		ret = -ENODEV;
f6ff49b8a3b6f7 Anson Huang           2019-01-08  1595  		goto disable_regulators;
417e008ba9db7c Martin Kepplinger     2015-09-01  1596  	}
417e008ba9db7c Martin Kepplinger     2015-09-01  1597  
a47a45567852ad Sanjay Chitroda       2026-08-08  1598  	dev_info(dev, "registering %s accelerometer; ID 0x%x\n",
a47ac019e7e812 Hans de Goede         2022-02-08  1599  		 data->chip_info->name, data->chip_info->chip_id);
c7eeea93ac60ab Peter Meerwald        2014-02-05  1600  
c7eeea93ac60ab Peter Meerwald        2014-02-05  1601  	i2c_set_clientdata(client, indio_dev);
c7eeea93ac60ab Peter Meerwald        2014-02-05  1602  	indio_dev->info = &mma8452_info;
a47ac019e7e812 Hans de Goede         2022-02-08  1603  	indio_dev->name = data->chip_info->name;
c7eeea93ac60ab Peter Meerwald        2014-02-05  1604  	indio_dev->modes = INDIO_DIRECT_MODE;
c3cdd6e48e35b7 Martin Kepplinger     2015-09-01  1605  	indio_dev->channels = data->chip_info->channels;
c3cdd6e48e35b7 Martin Kepplinger     2015-09-01  1606  	indio_dev->num_channels = data->chip_info->num_channels;
c7eeea93ac60ab Peter Meerwald        2014-02-05  1607  	indio_dev->available_scan_masks = mma8452_scan_masks;
c7eeea93ac60ab Peter Meerwald        2014-02-05  1608  
ecabae71319695 Martin Fuzzey         2015-05-13  1609  	ret = mma8452_reset(client);
c7eeea93ac60ab Peter Meerwald        2014-02-05  1610  	if (ret < 0)
f6ff49b8a3b6f7 Anson Huang           2019-01-08  1611  		goto disable_regulators;
c7eeea93ac60ab Peter Meerwald        2014-02-05  1612  
c7eeea93ac60ab Peter Meerwald        2014-02-05  1613  	data->data_cfg = MMA8452_DATA_CFG_FS_2G;
c7eeea93ac60ab Peter Meerwald        2014-02-05  1614  	ret = i2c_smbus_write_byte_data(client, MMA8452_DATA_CFG,
c7eeea93ac60ab Peter Meerwald        2014-02-05  1615  					data->data_cfg);
c7eeea93ac60ab Peter Meerwald        2014-02-05  1616  	if (ret < 0)
f6ff49b8a3b6f7 Anson Huang           2019-01-08  1617  		goto disable_regulators;
c7eeea93ac60ab Peter Meerwald        2014-02-05  1618  
28e3427824ccc8 Martin Fuzzey         2015-06-01  1619  	/*
28e3427824ccc8 Martin Fuzzey         2015-06-01  1620  	 * By default set transient threshold to max to avoid events if
28e3427824ccc8 Martin Fuzzey         2015-06-01  1621  	 * enabling without configuring threshold.
28e3427824ccc8 Martin Fuzzey         2015-06-01  1622  	 */
28e3427824ccc8 Martin Fuzzey         2015-06-01  1623  	ret = i2c_smbus_write_byte_data(client, MMA8452_TRANSIENT_THS,
28e3427824ccc8 Martin Fuzzey         2015-06-01  1624  					MMA8452_TRANSIENT_THS_MASK);
28e3427824ccc8 Martin Fuzzey         2015-06-01  1625  	if (ret < 0)
f6ff49b8a3b6f7 Anson Huang           2019-01-08  1626  		goto disable_regulators;
28e3427824ccc8 Martin Fuzzey         2015-06-01  1627  
28e3427824ccc8 Martin Fuzzey         2015-06-01  1628  	if (client->irq) {
d2a3e0931a8f3b Martin Kepplinger     2015-10-15  1629  		int irq2;
28e3427824ccc8 Martin Fuzzey         2015-06-01  1630  
a47a45567852ad Sanjay Chitroda       2026-08-08  1631  		irq2 = fwnode_irq_get_byname(dev_fwnode(dev), "INT2");
d2a3e0931a8f3b Martin Kepplinger     2015-10-15  1632  
d2a3e0931a8f3b Martin Kepplinger     2015-10-15  1633  		if (irq2 == client->irq) {
a47a45567852ad Sanjay Chitroda       2026-08-08  1634  			dev_dbg(dev, "using interrupt line INT2\n");
d2a3e0931a8f3b Martin Kepplinger     2015-10-15  1635  		} else {
28e3427824ccc8 Martin Fuzzey         2015-06-01  1636  			ret = i2c_smbus_write_byte_data(client,
28e3427824ccc8 Martin Fuzzey         2015-06-01  1637  							MMA8452_CTRL_REG5,
605f72de137ad9 Harinath Nampally     2017-09-09  1638  							data->chip_info->all_events);
28e3427824ccc8 Martin Fuzzey         2015-06-01  1639  			if (ret < 0)
f6ff49b8a3b6f7 Anson Huang           2019-01-08  1640  				goto disable_regulators;
28e3427824ccc8 Martin Fuzzey         2015-06-01  1641  
a47a45567852ad Sanjay Chitroda       2026-08-08  1642  			dev_dbg(dev, "using interrupt line INT1\n");
d2a3e0931a8f3b Martin Kepplinger     2015-10-15  1643  		}
d2a3e0931a8f3b Martin Kepplinger     2015-10-15  1644  
28e3427824ccc8 Martin Fuzzey         2015-06-01  1645  		ret = i2c_smbus_write_byte_data(client,
28e3427824ccc8 Martin Fuzzey         2015-06-01  1646  						MMA8452_CTRL_REG4,
605f72de137ad9 Harinath Nampally     2017-09-09  1647  						data->chip_info->enabled_events);
ae6d9ce05691bf Martin Fuzzey         2015-06-01  1648  		if (ret < 0)
f6ff49b8a3b6f7 Anson Huang           2019-01-08  1649  			goto disable_regulators;
ae6d9ce05691bf Martin Fuzzey         2015-06-01  1650  
ae6d9ce05691bf Martin Fuzzey         2015-06-01  1651  		ret = mma8452_trigger_setup(indio_dev);
28e3427824ccc8 Martin Fuzzey         2015-06-01  1652  		if (ret < 0)
f6ff49b8a3b6f7 Anson Huang           2019-01-08  1653  			goto disable_regulators;
28e3427824ccc8 Martin Fuzzey         2015-06-01  1654  	}
28e3427824ccc8 Martin Fuzzey         2015-06-01  1655  
ecabae71319695 Martin Fuzzey         2015-05-13  1656  	data->ctrl_reg1 = MMA8452_CTRL_ACTIVE |
ecabae71319695 Martin Fuzzey         2015-05-13  1657  			  (MMA8452_CTRL_DR_DEFAULT << MMA8452_CTRL_DR_SHIFT);
a45d1238870446 Richard Tresidder     2018-05-11  1658  
a45d1238870446 Richard Tresidder     2018-05-11  1659  	data->sleep_val = mma8452_calculate_sleep(data);
a45d1238870446 Richard Tresidder     2018-05-11  1660  
ecabae71319695 Martin Fuzzey         2015-05-13  1661  	ret = i2c_smbus_write_byte_data(client, MMA8452_CTRL_REG1,
ecabae71319695 Martin Fuzzey         2015-05-13  1662  					data->ctrl_reg1);
ecabae71319695 Martin Fuzzey         2015-05-13  1663  	if (ret < 0)
ae6d9ce05691bf Martin Fuzzey         2015-06-01  1664  		goto trigger_cleanup;
ecabae71319695 Martin Fuzzey         2015-05-13  1665  
c7eeea93ac60ab Peter Meerwald        2014-02-05  1666  	ret = iio_triggered_buffer_setup(indio_dev, NULL,
c7eeea93ac60ab Peter Meerwald        2014-02-05  1667  					 mma8452_trigger_handler, NULL);
c7eeea93ac60ab Peter Meerwald        2014-02-05  1668  	if (ret < 0)
ae6d9ce05691bf Martin Fuzzey         2015-06-01  1669  		goto trigger_cleanup;
c7eeea93ac60ab Peter Meerwald        2014-02-05  1670  
28e3427824ccc8 Martin Fuzzey         2015-06-01  1671  	if (client->irq) {
5883de8ce9d5d7 Esben Haabendal       2026-09-28  1672  		unsigned long irq_flags;
5883de8ce9d5d7 Esben Haabendal       2026-09-28  1673  
5883de8ce9d5d7 Esben Haabendal       2026-09-28  1674  		irq_flags = irq_get_trigger_type(client->irq);
5883de8ce9d5d7 Esben Haabendal       2026-09-28  1675  		if (irq_flags == IRQ_TYPE_NONE) {
5883de8ce9d5d7 Esben Haabendal       2026-09-28  1676  			dev_info(dev, "invalid irq type, setting default active low\n");
5883de8ce9d5d7 Esben Haabendal       2026-09-28  1677  			irq_flags = IRQF_TRIGGER_LOW;
5883de8ce9d5d7 Esben Haabendal       2026-09-28  1678  		}
5883de8ce9d5d7 Esben Haabendal       2026-09-28  1679  		irq_flags |= IRQF_ONESHOT;
0a6726ec20cd4c Sanjay Chitroda       2026-05-05 @1680  		ret = request_threaded_irq(client->irq, NULL, mma8452_interrupt,
5883de8ce9d5d7 Esben Haabendal       2026-09-28  1681  					   irq_flags, client->name, indio_dev);
28e3427824ccc8 Martin Fuzzey         2015-06-01  1682  		if (ret)
28e3427824ccc8 Martin Fuzzey         2015-06-01  1683  			goto buffer_cleanup;
28e3427824ccc8 Martin Fuzzey         2015-06-01  1684  	}
28e3427824ccc8 Martin Fuzzey         2015-06-01  1685  
a47a45567852ad Sanjay Chitroda       2026-08-08  1686  	ret = pm_runtime_set_active(dev);
96c0cb2bbfe0a5 Martin Kepplinger     2016-03-03  1687  	if (ret < 0)
0a6726ec20cd4c Sanjay Chitroda       2026-05-05  1688  		goto free_irq;
96c0cb2bbfe0a5 Martin Kepplinger     2016-03-03  1689  
a47a45567852ad Sanjay Chitroda       2026-08-08  1690  	pm_runtime_enable(dev);
a47a45567852ad Sanjay Chitroda       2026-08-08  1691  	pm_runtime_set_autosuspend_delay(dev, MMA8452_AUTO_SUSPEND_DELAY_MS);
a47a45567852ad Sanjay Chitroda       2026-08-08  1692  	pm_runtime_use_autosuspend(dev);
96c0cb2bbfe0a5 Martin Kepplinger     2016-03-03  1693  
c7eeea93ac60ab Peter Meerwald        2014-02-05  1694  	ret = iio_device_register(indio_dev);
c7eeea93ac60ab Peter Meerwald        2014-02-05  1695  	if (ret < 0)
49ff01e1519f86 Esben Haabendal       2026-09-28  1696  		goto runtime_suspend;
28e3427824ccc8 Martin Fuzzey         2015-06-01  1697  
4b04266abe3ea0 Martin Kepplinger     2016-01-16  1698  	ret = mma8452_set_freefall_mode(data, false);
1a965d405fc6f6 Bijosh Thykkoottathil 2016-07-04  1699  	if (ret < 0)
d7369ae1f4d7cf Chuhong Yuan          2020-05-28  1700  		goto unregister_device;
4b04266abe3ea0 Martin Kepplinger     2016-01-16  1701  
c7eeea93ac60ab Peter Meerwald        2014-02-05  1702  	return 0;
c7eeea93ac60ab Peter Meerwald        2014-02-05  1703  
d7369ae1f4d7cf Chuhong Yuan          2020-05-28  1704  unregister_device:
d7369ae1f4d7cf Chuhong Yuan          2020-05-28  1705  	iio_device_unregister(indio_dev);
d7369ae1f4d7cf Chuhong Yuan          2020-05-28  1706  
49ff01e1519f86 Esben Haabendal       2026-09-28  1707  runtime_suspend:
49ff01e1519f86 Esben Haabendal       2026-09-28  1708  	pm_runtime_disable(dev);
49ff01e1519f86 Esben Haabendal       2026-09-28  1709  	pm_runtime_set_suspended(dev);
49ff01e1519f86 Esben Haabendal       2026-09-28  1710  
0a6726ec20cd4c Sanjay Chitroda       2026-05-05  1711  free_irq:
0a6726ec20cd4c Sanjay Chitroda       2026-05-05  1712  	if (client->irq)
0a6726ec20cd4c Sanjay Chitroda       2026-05-05  1713  		free_irq(client->irq, indio_dev);
0a6726ec20cd4c Sanjay Chitroda       2026-05-05  1714  
c7eeea93ac60ab Peter Meerwald        2014-02-05  1715  buffer_cleanup:
c7eeea93ac60ab Peter Meerwald        2014-02-05  1716  	iio_triggered_buffer_cleanup(indio_dev);
ae6d9ce05691bf Martin Fuzzey         2015-06-01  1717  
ae6d9ce05691bf Martin Fuzzey         2015-06-01  1718  trigger_cleanup:
ae6d9ce05691bf Martin Fuzzey         2015-06-01  1719  	mma8452_trigger_cleanup(indio_dev);
ae6d9ce05691bf Martin Fuzzey         2015-06-01  1720  
f6ff49b8a3b6f7 Anson Huang           2019-01-08  1721  disable_regulators:
37fbab78f94fce Sanjay Chitroda       2026-08-08  1722  	regulator_bulk_disable(ARRAY_SIZE(data->regs), data->regs);
f6ff49b8a3b6f7 Anson Huang           2019-01-08  1723  
c7eeea93ac60ab Peter Meerwald        2014-02-05  1724  	return ret;
c7eeea93ac60ab Peter Meerwald        2014-02-05  1725  }
c7eeea93ac60ab Peter Meerwald        2014-02-05  1726  

:::::: The code at line 1680 was first introduced by commit
:::::: 0a6726ec20cd4c0101f2de0ca485a11676224dea iio: accel: mma8452: switch to non-devm request_threaded_irq()

:::::: TO: Sanjay Chitroda <sanjayembeddedse@gmail.com>
:::::: CC: Jonathan Cameron <jic23@kernel.org>

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

                 reply	other threads:[~2026-11-15  8:44 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202611150958.553wHmYA-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=julia.lawall@inria.fr \
    --cc=oe-kbuild@lists.linux.dev \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.