From: kernel test robot <lkp@intel.com>
To: oe-kbuild@lists.linux.dev
Cc: lkp@intel.com, Julia Lawall <julia.lawall@inria.fr>
Subject: drivers/gpu/drm/bridge/tda998x_drv.c:1883:8-28: WARNING: Threaded IRQ with no primary handler requested without IRQF_ONESHOT (unless it is nested IRQ)
Date: Tue, 24 Mar 2026 15:28:52 +0800 [thread overview]
Message-ID: <202603241527.fX06FemQ-lkp@intel.com> (raw)
BCC: lkp@intel.com
CC: oe-kbuild-all@lists.linux.dev
CC: linux-kernel@vger.kernel.org
TO: Dmitry Baryshkov <lumag@kernel.org>
CC: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: c369299895a591d96745d6492d4888259b004a9e
commit: 325ba852d148434c5bcb06d513af1933a7f77b70 drm/i2c: move TDA998x driver under drivers/gpu/drm/bridge
date: 1 year, 1 month ago
:::::: branch date: 34 hours ago
:::::: commit date: 1 year, 1 month ago
config: s390-randconfig-r052-20260323 (https://download.01.org/0day-ci/archive/20260324/202603241527.fX06FemQ-lkp@intel.com/config)
compiler: clang version 23.0.0git (https://github.com/llvm/llvm-project c911b8492374942bf4cfe35411e90a35d3837f6a)
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/202603241527.fX06FemQ-lkp@intel.com/
cocci warnings: (new ones prefixed by >>)
>> drivers/gpu/drm/bridge/tda998x_drv.c:1883:8-28: WARNING: Threaded IRQ with no primary handler requested without IRQF_ONESHOT (unless it is nested IRQ)
vim +1883 drivers/gpu/drm/bridge/tda998x_drv.c
76767fdabadbea drivers/gpu/drm/i2c/tda998x_drv.c Russell King 2018-08-02 1773
2143adb04b357e drivers/gpu/drm/i2c/tda998x_drv.c Russell King 2018-08-02 1774 static int tda998x_create(struct device *dev)
e7792ce2da5ded drivers/gpu/drm/i2c/tda998x_drv.c Rob Clark 2013-01-08 1775 {
2143adb04b357e drivers/gpu/drm/i2c/tda998x_drv.c Russell King 2018-08-02 1776 struct i2c_client *client = to_i2c_client(dev);
0d44ea190387e2 drivers/gpu/drm/i2c/tda998x_drv.c Jean-Francois Moine 2014-01-25 1777 struct device_node *np = client->dev.of_node;
7e8675f000bc7e drivers/gpu/drm/i2c/tda998x_drv.c Russell King 2016-10-05 1778 struct i2c_board_info cec_info;
2143adb04b357e drivers/gpu/drm/i2c/tda998x_drv.c Russell King 2018-08-02 1779 struct tda998x_priv *priv;
0d44ea190387e2 drivers/gpu/drm/i2c/tda998x_drv.c Jean-Francois Moine 2014-01-25 1780 u32 video;
fb7544d7732f78 drivers/gpu/drm/i2c/tda998x_drv.c Russell King 2014-02-02 1781 int rev_lo, rev_hi, ret;
e7792ce2da5ded drivers/gpu/drm/i2c/tda998x_drv.c Rob Clark 2013-01-08 1782
2143adb04b357e drivers/gpu/drm/i2c/tda998x_drv.c Russell King 2018-08-02 1783 priv = devm_kzalloc(dev, sizeof(*priv), GFP_KERNEL);
2143adb04b357e drivers/gpu/drm/i2c/tda998x_drv.c Russell King 2018-08-02 1784 if (!priv)
2143adb04b357e drivers/gpu/drm/i2c/tda998x_drv.c Russell King 2018-08-02 1785 return -ENOMEM;
2143adb04b357e drivers/gpu/drm/i2c/tda998x_drv.c Russell King 2018-08-02 1786
2143adb04b357e drivers/gpu/drm/i2c/tda998x_drv.c Russell King 2018-08-02 1787 dev_set_drvdata(dev, priv);
2143adb04b357e drivers/gpu/drm/i2c/tda998x_drv.c Russell King 2018-08-02 1788
d93ae190e2c952 drivers/gpu/drm/i2c/tda998x_drv.c Russell King 2016-11-17 1789 mutex_init(&priv->mutex); /* protect the page access */
d93ae190e2c952 drivers/gpu/drm/i2c/tda998x_drv.c Russell King 2016-11-17 1790 mutex_init(&priv->audio_mutex); /* protect access from audio thread */
7e8675f000bc7e drivers/gpu/drm/i2c/tda998x_drv.c Russell King 2016-10-05 1791 mutex_init(&priv->edid_mutex);
30bd8b862f5466 drivers/gpu/drm/i2c/tda998x_drv.c Russell King 2018-08-02 1792 INIT_LIST_HEAD(&priv->bridge.list);
d93ae190e2c952 drivers/gpu/drm/i2c/tda998x_drv.c Russell King 2016-11-17 1793 init_waitqueue_head(&priv->edid_delay_waitq);
d93ae190e2c952 drivers/gpu/drm/i2c/tda998x_drv.c Russell King 2016-11-17 1794 timer_setup(&priv->edid_delay_timer, tda998x_edid_delay_done, 0);
d93ae190e2c952 drivers/gpu/drm/i2c/tda998x_drv.c Russell King 2016-11-17 1795 INIT_WORK(&priv->detect_work, tda998x_detect_work);
ba300c1787f793 drivers/gpu/drm/i2c/tda998x_drv.c Russell King 2016-11-17 1796
5e74c22cd1e0f9 drivers/gpu/drm/i2c/tda998x_drv.c Russell King 2013-08-14 1797 priv->vip_cntrl_0 = VIP_CNTRL_0_SWAP_A(2) | VIP_CNTRL_0_SWAP_B(3);
5e74c22cd1e0f9 drivers/gpu/drm/i2c/tda998x_drv.c Russell King 2013-08-14 1798 priv->vip_cntrl_1 = VIP_CNTRL_1_SWAP_C(0) | VIP_CNTRL_1_SWAP_D(1);
5e74c22cd1e0f9 drivers/gpu/drm/i2c/tda998x_drv.c Russell King 2013-08-14 1799 priv->vip_cntrl_2 = VIP_CNTRL_2_SWAP_E(4) | VIP_CNTRL_2_SWAP_F(5);
5e74c22cd1e0f9 drivers/gpu/drm/i2c/tda998x_drv.c Russell King 2013-08-14 1800
14e5b5889d7589 drivers/gpu/drm/i2c/tda998x_drv.c Russell King 2016-11-03 1801 /* CEC I2C address bound to TDA998x I2C addr by configuration pins */
14e5b5889d7589 drivers/gpu/drm/i2c/tda998x_drv.c Russell King 2016-11-03 1802 priv->cec_addr = 0x34 + (client->addr & 0x03);
2eb4c7b1e7f275 drivers/gpu/drm/i2c/tda998x_drv.c Jean-Francois Moine 2014-01-25 1803 priv->current_page = 0xff;
2f7f730a4f0fd3 drivers/gpu/drm/i2c/tda998x_drv.c Jean-Francois Moine 2014-01-25 1804 priv->hdmi = client;
ed9a84262a83ab drivers/gpu/drm/i2c/tda998x_drv.c Jean-Francois Moine 2014-11-29 1805
e7792ce2da5ded drivers/gpu/drm/i2c/tda998x_drv.c Rob Clark 2013-01-08 1806 /* wake up the device: */
2f7f730a4f0fd3 drivers/gpu/drm/i2c/tda998x_drv.c Jean-Francois Moine 2014-01-25 1807 cec_write(priv, REG_CEC_ENAMODS,
e7792ce2da5ded drivers/gpu/drm/i2c/tda998x_drv.c Rob Clark 2013-01-08 1808 CEC_ENAMODS_EN_RXSENS | CEC_ENAMODS_EN_HDMI);
e7792ce2da5ded drivers/gpu/drm/i2c/tda998x_drv.c Rob Clark 2013-01-08 1809
2f7f730a4f0fd3 drivers/gpu/drm/i2c/tda998x_drv.c Jean-Francois Moine 2014-01-25 1810 tda998x_reset(priv);
e7792ce2da5ded drivers/gpu/drm/i2c/tda998x_drv.c Rob Clark 2013-01-08 1811
e7792ce2da5ded drivers/gpu/drm/i2c/tda998x_drv.c Rob Clark 2013-01-08 1812 /* read version: */
fb7544d7732f78 drivers/gpu/drm/i2c/tda998x_drv.c Russell King 2014-02-02 1813 rev_lo = reg_read(priv, REG_VERSION_LSB);
6a765c3fe54973 drivers/gpu/drm/i2c/tda998x_drv.c Russell King 2016-11-17 1814 if (rev_lo < 0) {
76767fdabadbea drivers/gpu/drm/i2c/tda998x_drv.c Russell King 2018-08-02 1815 dev_err(dev, "failed to read version: %d\n", rev_lo);
6a765c3fe54973 drivers/gpu/drm/i2c/tda998x_drv.c Russell King 2016-11-17 1816 return rev_lo;
6a765c3fe54973 drivers/gpu/drm/i2c/tda998x_drv.c Russell King 2016-11-17 1817 }
6a765c3fe54973 drivers/gpu/drm/i2c/tda998x_drv.c Russell King 2016-11-17 1818
fb7544d7732f78 drivers/gpu/drm/i2c/tda998x_drv.c Russell King 2014-02-02 1819 rev_hi = reg_read(priv, REG_VERSION_MSB);
6a765c3fe54973 drivers/gpu/drm/i2c/tda998x_drv.c Russell King 2016-11-17 1820 if (rev_hi < 0) {
76767fdabadbea drivers/gpu/drm/i2c/tda998x_drv.c Russell King 2018-08-02 1821 dev_err(dev, "failed to read version: %d\n", rev_hi);
6a765c3fe54973 drivers/gpu/drm/i2c/tda998x_drv.c Russell King 2016-11-17 1822 return rev_hi;
fb7544d7732f78 drivers/gpu/drm/i2c/tda998x_drv.c Russell King 2014-02-02 1823 }
fb7544d7732f78 drivers/gpu/drm/i2c/tda998x_drv.c Russell King 2014-02-02 1824
fb7544d7732f78 drivers/gpu/drm/i2c/tda998x_drv.c Russell King 2014-02-02 1825 priv->rev = rev_lo | rev_hi << 8;
e7792ce2da5ded drivers/gpu/drm/i2c/tda998x_drv.c Rob Clark 2013-01-08 1826
e7792ce2da5ded drivers/gpu/drm/i2c/tda998x_drv.c Rob Clark 2013-01-08 1827 /* mask off feature bits: */
e7792ce2da5ded drivers/gpu/drm/i2c/tda998x_drv.c Rob Clark 2013-01-08 1828 priv->rev &= ~0x30; /* not-hdcp and not-scalar bit */
e7792ce2da5ded drivers/gpu/drm/i2c/tda998x_drv.c Rob Clark 2013-01-08 1829
e7792ce2da5ded drivers/gpu/drm/i2c/tda998x_drv.c Rob Clark 2013-01-08 1830 switch (priv->rev) {
b728fab7026b9d drivers/gpu/drm/i2c/tda998x_drv.c Jean-Francois Moine 2014-01-25 1831 case TDA9989N2:
76767fdabadbea drivers/gpu/drm/i2c/tda998x_drv.c Russell King 2018-08-02 1832 dev_info(dev, "found TDA9989 n2");
b728fab7026b9d drivers/gpu/drm/i2c/tda998x_drv.c Jean-Francois Moine 2014-01-25 1833 break;
b728fab7026b9d drivers/gpu/drm/i2c/tda998x_drv.c Jean-Francois Moine 2014-01-25 1834 case TDA19989:
76767fdabadbea drivers/gpu/drm/i2c/tda998x_drv.c Russell King 2018-08-02 1835 dev_info(dev, "found TDA19989");
b728fab7026b9d drivers/gpu/drm/i2c/tda998x_drv.c Jean-Francois Moine 2014-01-25 1836 break;
b728fab7026b9d drivers/gpu/drm/i2c/tda998x_drv.c Jean-Francois Moine 2014-01-25 1837 case TDA19989N2:
76767fdabadbea drivers/gpu/drm/i2c/tda998x_drv.c Russell King 2018-08-02 1838 dev_info(dev, "found TDA19989 n2");
b728fab7026b9d drivers/gpu/drm/i2c/tda998x_drv.c Jean-Francois Moine 2014-01-25 1839 break;
b728fab7026b9d drivers/gpu/drm/i2c/tda998x_drv.c Jean-Francois Moine 2014-01-25 1840 case TDA19988:
76767fdabadbea drivers/gpu/drm/i2c/tda998x_drv.c Russell King 2018-08-02 1841 dev_info(dev, "found TDA19988");
b728fab7026b9d drivers/gpu/drm/i2c/tda998x_drv.c Jean-Francois Moine 2014-01-25 1842 break;
e7792ce2da5ded drivers/gpu/drm/i2c/tda998x_drv.c Rob Clark 2013-01-08 1843 default:
76767fdabadbea drivers/gpu/drm/i2c/tda998x_drv.c Russell King 2018-08-02 1844 dev_err(dev, "found unsupported device: %04x\n", priv->rev);
6a765c3fe54973 drivers/gpu/drm/i2c/tda998x_drv.c Russell King 2016-11-17 1845 return -ENXIO;
e7792ce2da5ded drivers/gpu/drm/i2c/tda998x_drv.c Rob Clark 2013-01-08 1846 }
e7792ce2da5ded drivers/gpu/drm/i2c/tda998x_drv.c Rob Clark 2013-01-08 1847
e7792ce2da5ded drivers/gpu/drm/i2c/tda998x_drv.c Rob Clark 2013-01-08 1848 /* after reset, enable DDC: */
2f7f730a4f0fd3 drivers/gpu/drm/i2c/tda998x_drv.c Jean-Francois Moine 2014-01-25 1849 reg_write(priv, REG_DDC_DISABLE, 0x00);
e7792ce2da5ded drivers/gpu/drm/i2c/tda998x_drv.c Rob Clark 2013-01-08 1850
e7792ce2da5ded drivers/gpu/drm/i2c/tda998x_drv.c Rob Clark 2013-01-08 1851 /* set clock on DDC channel: */
2f7f730a4f0fd3 drivers/gpu/drm/i2c/tda998x_drv.c Jean-Francois Moine 2014-01-25 1852 reg_write(priv, REG_TX3, 39);
e7792ce2da5ded drivers/gpu/drm/i2c/tda998x_drv.c Rob Clark 2013-01-08 1853
e7792ce2da5ded drivers/gpu/drm/i2c/tda998x_drv.c Rob Clark 2013-01-08 1854 /* if necessary, disable multi-master: */
e7792ce2da5ded drivers/gpu/drm/i2c/tda998x_drv.c Rob Clark 2013-01-08 1855 if (priv->rev == TDA19989)
2f7f730a4f0fd3 drivers/gpu/drm/i2c/tda998x_drv.c Jean-Francois Moine 2014-01-25 1856 reg_set(priv, REG_I2C_MASTER, I2C_MASTER_DIS_MM);
e7792ce2da5ded drivers/gpu/drm/i2c/tda998x_drv.c Rob Clark 2013-01-08 1857
2f7f730a4f0fd3 drivers/gpu/drm/i2c/tda998x_drv.c Jean-Francois Moine 2014-01-25 1858 cec_write(priv, REG_CEC_FRO_IM_CLK_CTRL,
e7792ce2da5ded drivers/gpu/drm/i2c/tda998x_drv.c Rob Clark 2013-01-08 1859 CEC_FRO_IM_CLK_CTRL_GHOST_DIS | CEC_FRO_IM_CLK_CTRL_IMCLK_SEL);
e7792ce2da5ded drivers/gpu/drm/i2c/tda998x_drv.c Rob Clark 2013-01-08 1860
ba8975f15bb93d drivers/gpu/drm/i2c/tda998x_drv.c Russell King 2017-03-11 1861 /* ensure interrupts are disabled */
ba8975f15bb93d drivers/gpu/drm/i2c/tda998x_drv.c Russell King 2017-03-11 1862 cec_write(priv, REG_CEC_RXSHPDINTENA, 0);
ba8975f15bb93d drivers/gpu/drm/i2c/tda998x_drv.c Russell King 2017-03-11 1863
ba8975f15bb93d drivers/gpu/drm/i2c/tda998x_drv.c Russell King 2017-03-11 1864 /* clear pending interrupts */
ba8975f15bb93d drivers/gpu/drm/i2c/tda998x_drv.c Russell King 2017-03-11 1865 cec_read(priv, REG_CEC_RXSHPDINT);
ba8975f15bb93d drivers/gpu/drm/i2c/tda998x_drv.c Russell King 2017-03-11 1866 reg_read(priv, REG_INT_FLAGS_0);
ba8975f15bb93d drivers/gpu/drm/i2c/tda998x_drv.c Russell King 2017-03-11 1867 reg_read(priv, REG_INT_FLAGS_1);
ba8975f15bb93d drivers/gpu/drm/i2c/tda998x_drv.c Russell King 2017-03-11 1868 reg_read(priv, REG_INT_FLAGS_2);
ba8975f15bb93d drivers/gpu/drm/i2c/tda998x_drv.c Russell King 2017-03-11 1869
12473b7d8e6074 drivers/gpu/drm/i2c/tda998x_drv.c Jean-Francois Moine 2014-01-25 1870 /* initialize the optional IRQ */
12473b7d8e6074 drivers/gpu/drm/i2c/tda998x_drv.c Jean-Francois Moine 2014-01-25 1871 if (client->irq) {
ae81553c30ef86 drivers/gpu/drm/i2c/tda998x_drv.c Russell King 2016-11-03 1872 unsigned long irq_flags;
12473b7d8e6074 drivers/gpu/drm/i2c/tda998x_drv.c Jean-Francois Moine 2014-01-25 1873
6833d26ef823b2 drivers/gpu/drm/i2c/tda998x_drv.c Jean-Francois Moine 2014-11-29 1874 /* init read EDID waitqueue and HDP work */
12473b7d8e6074 drivers/gpu/drm/i2c/tda998x_drv.c Jean-Francois Moine 2014-01-25 1875 init_waitqueue_head(&priv->wq_edid);
12473b7d8e6074 drivers/gpu/drm/i2c/tda998x_drv.c Jean-Francois Moine 2014-01-25 1876
ae81553c30ef86 drivers/gpu/drm/i2c/tda998x_drv.c Russell King 2016-11-03 1877 irq_flags =
12473b7d8e6074 drivers/gpu/drm/i2c/tda998x_drv.c Jean-Francois Moine 2014-01-25 1878 irqd_get_trigger_type(irq_get_irq_data(client->irq));
7e8675f000bc7e drivers/gpu/drm/i2c/tda998x_drv.c Russell King 2016-10-05 1879
7e8675f000bc7e drivers/gpu/drm/i2c/tda998x_drv.c Russell King 2016-10-05 1880 priv->cec_glue.irq_flags = irq_flags;
7e8675f000bc7e drivers/gpu/drm/i2c/tda998x_drv.c Russell King 2016-10-05 1881
ae81553c30ef86 drivers/gpu/drm/i2c/tda998x_drv.c Russell King 2016-11-03 1882 irq_flags |= IRQF_SHARED | IRQF_ONESHOT;
12473b7d8e6074 drivers/gpu/drm/i2c/tda998x_drv.c Jean-Francois Moine 2014-01-25 @1883 ret = request_threaded_irq(client->irq, NULL,
ae81553c30ef86 drivers/gpu/drm/i2c/tda998x_drv.c Russell King 2016-11-03 1884 tda998x_irq_thread, irq_flags,
12473b7d8e6074 drivers/gpu/drm/i2c/tda998x_drv.c Jean-Francois Moine 2014-01-25 1885 "tda998x", priv);
12473b7d8e6074 drivers/gpu/drm/i2c/tda998x_drv.c Jean-Francois Moine 2014-01-25 1886 if (ret) {
76767fdabadbea drivers/gpu/drm/i2c/tda998x_drv.c Russell King 2018-08-02 1887 dev_err(dev, "failed to request IRQ#%u: %d\n",
12473b7d8e6074 drivers/gpu/drm/i2c/tda998x_drv.c Jean-Francois Moine 2014-01-25 1888 client->irq, ret);
6a765c3fe54973 drivers/gpu/drm/i2c/tda998x_drv.c Russell King 2016-11-17 1889 goto err_irq;
12473b7d8e6074 drivers/gpu/drm/i2c/tda998x_drv.c Jean-Francois Moine 2014-01-25 1890 }
12473b7d8e6074 drivers/gpu/drm/i2c/tda998x_drv.c Jean-Francois Moine 2014-01-25 1891
12473b7d8e6074 drivers/gpu/drm/i2c/tda998x_drv.c Jean-Francois Moine 2014-01-25 1892 /* enable HPD irq */
12473b7d8e6074 drivers/gpu/drm/i2c/tda998x_drv.c Jean-Francois Moine 2014-01-25 1893 cec_write(priv, REG_CEC_RXSHPDINTENA, CEC_RXSHPDLEV_HPD);
12473b7d8e6074 drivers/gpu/drm/i2c/tda998x_drv.c Jean-Francois Moine 2014-01-25 1894 }
12473b7d8e6074 drivers/gpu/drm/i2c/tda998x_drv.c Jean-Francois Moine 2014-01-25 1895
ece485d550dce2 drivers/gpu/drm/i2c/tda998x_drv.c Dariusz Marcinkiewicz 2019-10-17 1896 priv->cec_notify = cec_notifier_conn_register(dev, NULL, NULL);
7e8675f000bc7e drivers/gpu/drm/i2c/tda998x_drv.c Russell King 2016-10-05 1897 if (!priv->cec_notify) {
7e8675f000bc7e drivers/gpu/drm/i2c/tda998x_drv.c Russell King 2016-10-05 1898 ret = -ENOMEM;
7e8675f000bc7e drivers/gpu/drm/i2c/tda998x_drv.c Russell King 2016-10-05 1899 goto fail;
7e8675f000bc7e drivers/gpu/drm/i2c/tda998x_drv.c Russell King 2016-10-05 1900 }
7e8675f000bc7e drivers/gpu/drm/i2c/tda998x_drv.c Russell King 2016-10-05 1901
76767fdabadbea drivers/gpu/drm/i2c/tda998x_drv.c Russell King 2018-08-02 1902 priv->cec_glue.parent = dev;
7e8675f000bc7e drivers/gpu/drm/i2c/tda998x_drv.c Russell King 2016-10-05 1903 priv->cec_glue.data = priv;
7e8675f000bc7e drivers/gpu/drm/i2c/tda998x_drv.c Russell King 2016-10-05 1904 priv->cec_glue.init = tda998x_cec_hook_init;
7e8675f000bc7e drivers/gpu/drm/i2c/tda998x_drv.c Russell King 2016-10-05 1905 priv->cec_glue.exit = tda998x_cec_hook_exit;
7e8675f000bc7e drivers/gpu/drm/i2c/tda998x_drv.c Russell King 2016-10-05 1906 priv->cec_glue.open = tda998x_cec_hook_open;
7e8675f000bc7e drivers/gpu/drm/i2c/tda998x_drv.c Russell King 2016-10-05 1907 priv->cec_glue.release = tda998x_cec_hook_release;
7e8675f000bc7e drivers/gpu/drm/i2c/tda998x_drv.c Russell King 2016-10-05 1908
7e8675f000bc7e drivers/gpu/drm/i2c/tda998x_drv.c Russell King 2016-10-05 1909 /*
7e8675f000bc7e drivers/gpu/drm/i2c/tda998x_drv.c Russell King 2016-10-05 1910 * Some TDA998x are actually two I2C devices merged onto one piece
7e8675f000bc7e drivers/gpu/drm/i2c/tda998x_drv.c Russell King 2016-10-05 1911 * of silicon: TDA9989 and TDA19989 combine the HDMI transmitter
7e8675f000bc7e drivers/gpu/drm/i2c/tda998x_drv.c Russell King 2016-10-05 1912 * with a slightly modified TDA9950 CEC device. The CEC device
7e8675f000bc7e drivers/gpu/drm/i2c/tda998x_drv.c Russell King 2016-10-05 1913 * is at the TDA9950 address, with the address pins strapped across
7e8675f000bc7e drivers/gpu/drm/i2c/tda998x_drv.c Russell King 2016-10-05 1914 * to the TDA998x address pins. Hence, it always has the same
7e8675f000bc7e drivers/gpu/drm/i2c/tda998x_drv.c Russell King 2016-10-05 1915 * offset.
7e8675f000bc7e drivers/gpu/drm/i2c/tda998x_drv.c Russell King 2016-10-05 1916 */
7e8675f000bc7e drivers/gpu/drm/i2c/tda998x_drv.c Russell King 2016-10-05 1917 memset(&cec_info, 0, sizeof(cec_info));
f4a0659f823e5a drivers/gpu/drm/i2c/tda998x_drv.c Azeem Shaikh 2023-05-22 1918 strscpy(cec_info.type, "tda9950", sizeof(cec_info.type));
7e8675f000bc7e drivers/gpu/drm/i2c/tda998x_drv.c Russell King 2016-10-05 1919 cec_info.addr = priv->cec_addr;
7e8675f000bc7e drivers/gpu/drm/i2c/tda998x_drv.c Russell King 2016-10-05 1920 cec_info.platform_data = &priv->cec_glue;
7e8675f000bc7e drivers/gpu/drm/i2c/tda998x_drv.c Russell King 2016-10-05 1921 cec_info.irq = client->irq;
7e8675f000bc7e drivers/gpu/drm/i2c/tda998x_drv.c Russell King 2016-10-05 1922
bf2993c19b00af drivers/gpu/drm/i2c/tda998x_drv.c Wolfram Sang 2020-03-26 1923 priv->cec = i2c_new_client_device(client->adapter, &cec_info);
bf2993c19b00af drivers/gpu/drm/i2c/tda998x_drv.c Wolfram Sang 2020-03-26 1924 if (IS_ERR(priv->cec)) {
bf2993c19b00af drivers/gpu/drm/i2c/tda998x_drv.c Wolfram Sang 2020-03-26 1925 ret = PTR_ERR(priv->cec);
101e996b8d3215 drivers/gpu/drm/i2c/tda998x_drv.c Russell King 2016-11-17 1926 goto fail;
101e996b8d3215 drivers/gpu/drm/i2c/tda998x_drv.c Russell King 2016-11-17 1927 }
101e996b8d3215 drivers/gpu/drm/i2c/tda998x_drv.c Russell King 2016-11-17 1928
e47826274e8871 drivers/gpu/drm/i2c/tda998x_drv.c Jean-Francois Moine 2014-01-25 1929 /* enable EDID read irq: */
e47826274e8871 drivers/gpu/drm/i2c/tda998x_drv.c Jean-Francois Moine 2014-01-25 1930 reg_set(priv, REG_INT_FLAGS_2, INT_FLAGS_2_EDID_BLK_RD);
e47826274e8871 drivers/gpu/drm/i2c/tda998x_drv.c Jean-Francois Moine 2014-01-25 1931
6c1187aaa2912f drivers/gpu/drm/i2c/tda998x_drv.c Russell King 2018-08-02 1932 if (np) {
7e567624dc5a44 drivers/gpu/drm/i2c/tda998x_drv.c Jyri Sarha 2016-08-09 1933 /* get the device tree parameters */
0d44ea190387e2 drivers/gpu/drm/i2c/tda998x_drv.c Jean-Francois Moine 2014-01-25 1934 ret = of_property_read_u32(np, "video-ports", &video);
0d44ea190387e2 drivers/gpu/drm/i2c/tda998x_drv.c Jean-Francois Moine 2014-01-25 1935 if (ret == 0) {
0d44ea190387e2 drivers/gpu/drm/i2c/tda998x_drv.c Jean-Francois Moine 2014-01-25 1936 priv->vip_cntrl_0 = video >> 16;
0d44ea190387e2 drivers/gpu/drm/i2c/tda998x_drv.c Jean-Francois Moine 2014-01-25 1937 priv->vip_cntrl_1 = video >> 8;
0d44ea190387e2 drivers/gpu/drm/i2c/tda998x_drv.c Jean-Francois Moine 2014-01-25 1938 priv->vip_cntrl_2 = video;
0d44ea190387e2 drivers/gpu/drm/i2c/tda998x_drv.c Jean-Francois Moine 2014-01-25 1939 }
0d44ea190387e2 drivers/gpu/drm/i2c/tda998x_drv.c Jean-Francois Moine 2014-01-25 1940
7e567624dc5a44 drivers/gpu/drm/i2c/tda998x_drv.c Jyri Sarha 2016-08-09 1941 ret = tda998x_get_audio_ports(priv, np);
7e567624dc5a44 drivers/gpu/drm/i2c/tda998x_drv.c Jyri Sarha 2016-08-09 1942 if (ret)
7e567624dc5a44 drivers/gpu/drm/i2c/tda998x_drv.c Jyri Sarha 2016-08-09 1943 goto fail;
e7792ce2da5ded drivers/gpu/drm/i2c/tda998x_drv.c Rob Clark 2013-01-08 1944
7168916072b549 drivers/gpu/drm/i2c/tda998x_drv.c Russell King 2019-03-01 1945 if (priv->audio_port_enable[AUDIO_ROUTE_I2S] ||
7168916072b549 drivers/gpu/drm/i2c/tda998x_drv.c Russell King 2019-03-01 1946 priv->audio_port_enable[AUDIO_ROUTE_SPDIF])
7e567624dc5a44 drivers/gpu/drm/i2c/tda998x_drv.c Jyri Sarha 2016-08-09 1947 tda998x_audio_codec_init(priv, &client->dev);
6c1187aaa2912f drivers/gpu/drm/i2c/tda998x_drv.c Russell King 2018-08-02 1948 }
7e567624dc5a44 drivers/gpu/drm/i2c/tda998x_drv.c Jyri Sarha 2016-08-09 1949
30bd8b862f5466 drivers/gpu/drm/i2c/tda998x_drv.c Russell King 2018-08-02 1950 priv->bridge.funcs = &tda998x_bridge_funcs;
30bd8b862f5466 drivers/gpu/drm/i2c/tda998x_drv.c Russell King 2018-08-02 1951 #ifdef CONFIG_OF
30bd8b862f5466 drivers/gpu/drm/i2c/tda998x_drv.c Russell King 2018-08-02 1952 priv->bridge.of_node = dev->of_node;
30bd8b862f5466 drivers/gpu/drm/i2c/tda998x_drv.c Russell King 2018-08-02 1953 #endif
30bd8b862f5466 drivers/gpu/drm/i2c/tda998x_drv.c Russell King 2018-08-02 1954
30bd8b862f5466 drivers/gpu/drm/i2c/tda998x_drv.c Russell King 2018-08-02 1955 drm_bridge_add(&priv->bridge);
7e567624dc5a44 drivers/gpu/drm/i2c/tda998x_drv.c Jyri Sarha 2016-08-09 1956
7e567624dc5a44 drivers/gpu/drm/i2c/tda998x_drv.c Jyri Sarha 2016-08-09 1957 return 0;
6a765c3fe54973 drivers/gpu/drm/i2c/tda998x_drv.c Russell King 2016-11-17 1958
e7792ce2da5ded drivers/gpu/drm/i2c/tda998x_drv.c Rob Clark 2013-01-08 1959 fail:
2143adb04b357e drivers/gpu/drm/i2c/tda998x_drv.c Russell King 2018-08-02 1960 tda998x_destroy(dev);
6a765c3fe54973 drivers/gpu/drm/i2c/tda998x_drv.c Russell King 2016-11-17 1961 err_irq:
6a765c3fe54973 drivers/gpu/drm/i2c/tda998x_drv.c Russell King 2016-11-17 1962 return ret;
e7792ce2da5ded drivers/gpu/drm/i2c/tda998x_drv.c Rob Clark 2013-01-08 1963 }
e7792ce2da5ded drivers/gpu/drm/i2c/tda998x_drv.c Rob Clark 2013-01-08 1964
:::::: The code at line 1883 was first introduced by commit
:::::: 12473b7d8e6074c7d4c2816afa6027354ce9a502 drm/i2c: tda998x: use irq for connection status and EDID read
:::::: TO: Jean-Francois Moine <moinejf@free.fr>
:::::: CC: Russell King <rmk+kernel@arm.linux.org.uk>
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
next reply other threads:[~2026-03-24 7:29 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-03-24 7:28 kernel test robot [this message]
-- strict thread matches above, loose matches on Subject: below --
2026-01-16 1:53 drivers/gpu/drm/bridge/tda998x_drv.c:1883:8-28: WARNING: Threaded IRQ with no primary handler requested without IRQF_ONESHOT (unless it is nested IRQ) kernel test robot
2026-01-13 12:05 kernel test robot
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=202603241527.fX06FemQ-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.