From: kernel test robot <lkp@intel.com>
To: kbuild-all@lists.01.org
Subject: sound/soc/mediatek/common/mtk-btcvsd.c:1367:30: sparse: sparse: incorrect type in assignment (different address spaces)
Date: Sat, 01 Jan 2022 21:06:28 +0800 [thread overview]
Message-ID: <202201012105.oRHDnK62-lkp@intel.com> (raw)
[-- Attachment #1: Type: text/plain, Size: 11895 bytes --]
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 8008293888188c3923f5bd8a69370dae25ed14e5
commit: 6746cc858259985a945a07075a19ec4d24352407 ASoC: mediatek: mt8195: add platform driver
date: 4 months ago
config: alpha-randconfig-s032-20211117 (https://download.01.org/0day-ci/archive/20220101/202201012105.oRHDnK62-lkp(a)intel.com/config)
compiler: alpha-linux-gcc (GCC) 11.2.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# apt-get install sparse
# sparse version: v0.6.4-dirty
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=6746cc858259985a945a07075a19ec4d24352407
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout 6746cc858259985a945a07075a19ec4d24352407
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=alpha SHELL=/bin/bash drivers/dma/ sound/soc/mediatek/common/
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
sparse warnings: (new ones prefixed by >>)
>> sound/soc/mediatek/common/mtk-btcvsd.c:1367:30: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected unsigned int [usertype] *bt_reg_pkt_r @@ got void [noderef] __iomem * @@
sound/soc/mediatek/common/mtk-btcvsd.c:1367:30: sparse: expected unsigned int [usertype] *bt_reg_pkt_r
sound/soc/mediatek/common/mtk-btcvsd.c:1367:30: sparse: got void [noderef] __iomem *
>> sound/soc/mediatek/common/mtk-btcvsd.c:1369:30: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected unsigned int [usertype] *bt_reg_pkt_w @@ got void [noderef] __iomem * @@
sound/soc/mediatek/common/mtk-btcvsd.c:1369:30: sparse: expected unsigned int [usertype] *bt_reg_pkt_w
sound/soc/mediatek/common/mtk-btcvsd.c:1369:30: sparse: got void [noderef] __iomem *
>> sound/soc/mediatek/common/mtk-btcvsd.c:1371:28: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected unsigned int [usertype] *bt_reg_ctl @@ got void [noderef] __iomem * @@
sound/soc/mediatek/common/mtk-btcvsd.c:1371:28: sparse: expected unsigned int [usertype] *bt_reg_ctl
sound/soc/mediatek/common/mtk-btcvsd.c:1371:28: sparse: got void [noderef] __iomem *
vim +1367 sound/soc/mediatek/common/mtk-btcvsd.c
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1281
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1282 static int mtk_btcvsd_snd_probe(struct platform_device *pdev)
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1283 {
b6052c3c7a78f5 Christophe JAILLET 2021-06-06 1284 int ret;
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1285 int irq_id;
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1286 u32 offset[5] = {0, 0, 0, 0, 0};
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1287 struct mtk_btcvsd_snd *btcvsd;
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1288 struct device *dev = &pdev->dev;
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1289
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1290 /* init btcvsd private data */
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1291 btcvsd = devm_kzalloc(dev, sizeof(*btcvsd), GFP_KERNEL);
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1292 if (!btcvsd)
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1293 return -ENOMEM;
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1294 platform_set_drvdata(pdev, btcvsd);
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1295 btcvsd->dev = dev;
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1296
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1297 /* init tx/rx */
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1298 btcvsd->rx = devm_kzalloc(btcvsd->dev, sizeof(*btcvsd->rx), GFP_KERNEL);
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1299 if (!btcvsd->rx)
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1300 return -ENOMEM;
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1301
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1302 btcvsd->tx = devm_kzalloc(btcvsd->dev, sizeof(*btcvsd->tx), GFP_KERNEL);
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1303 if (!btcvsd->tx)
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1304 return -ENOMEM;
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1305
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1306 spin_lock_init(&btcvsd->tx_lock);
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1307 spin_lock_init(&btcvsd->rx_lock);
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1308
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1309 init_waitqueue_head(&btcvsd->tx_wait);
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1310 init_waitqueue_head(&btcvsd->rx_wait);
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1311
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1312 mtk_btcvsd_snd_tx_init(btcvsd);
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1313 mtk_btcvsd_snd_rx_init(btcvsd);
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1314
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1315 /* irq */
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1316 irq_id = platform_get_irq(pdev, 0);
cf9441adb1a355 Stephen Boyd 2019-07-30 1317 if (irq_id <= 0)
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1318 return irq_id < 0 ? irq_id : -ENXIO;
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1319
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1320 ret = devm_request_irq(dev, irq_id, mtk_btcvsd_snd_irq_handler,
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1321 IRQF_TRIGGER_LOW, "BTCVSD_ISR_Handle",
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1322 (void *)btcvsd);
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1323 if (ret) {
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1324 dev_err(dev, "could not request_irq for BTCVSD_ISR_Handle\n");
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1325 return ret;
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1326 }
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1327
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1328 btcvsd->irq_id = irq_id;
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1329
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1330 /* iomap */
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1331 btcvsd->bt_pkv_base = of_iomap(dev->of_node, 0);
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1332 if (!btcvsd->bt_pkv_base) {
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1333 dev_err(dev, "iomap bt_pkv_base fail\n");
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1334 return -EIO;
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1335 }
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1336
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1337 btcvsd->bt_sram_bank2_base = of_iomap(dev->of_node, 1);
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1338 if (!btcvsd->bt_sram_bank2_base) {
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1339 dev_err(dev, "iomap bt_sram_bank2_base fail\n");
b6052c3c7a78f5 Christophe JAILLET 2021-06-06 1340 ret = -EIO;
b6052c3c7a78f5 Christophe JAILLET 2021-06-06 1341 goto unmap_pkv_err;
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1342 }
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1343
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1344 btcvsd->infra = syscon_regmap_lookup_by_phandle(dev->of_node,
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1345 "mediatek,infracfg");
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1346 if (IS_ERR(btcvsd->infra)) {
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1347 dev_err(dev, "cannot find infra controller: %ld\n",
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1348 PTR_ERR(btcvsd->infra));
b6052c3c7a78f5 Christophe JAILLET 2021-06-06 1349 ret = PTR_ERR(btcvsd->infra);
b6052c3c7a78f5 Christophe JAILLET 2021-06-06 1350 goto unmap_bank2_err;
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1351 }
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1352
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1353 /* get offset */
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1354 ret = of_property_read_u32_array(dev->of_node, "mediatek,offset",
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1355 offset,
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1356 ARRAY_SIZE(offset));
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1357 if (ret) {
766cc4965a3a2a Colin Ian King 2019-02-04 1358 dev_warn(dev, "%s(), get offset fail, ret %d\n", __func__, ret);
b6052c3c7a78f5 Christophe JAILLET 2021-06-06 1359 goto unmap_bank2_err;
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1360 }
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1361 btcvsd->infra_misc_offset = offset[0];
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1362 btcvsd->conn_bt_cvsd_mask = offset[1];
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1363 btcvsd->cvsd_mcu_read_offset = offset[2];
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1364 btcvsd->cvsd_mcu_write_offset = offset[3];
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1365 btcvsd->cvsd_packet_indicator = offset[4];
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1366
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 @1367 btcvsd->bt_reg_pkt_r = btcvsd->bt_pkv_base +
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1368 btcvsd->cvsd_mcu_read_offset;
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 @1369 btcvsd->bt_reg_pkt_w = btcvsd->bt_pkv_base +
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1370 btcvsd->cvsd_mcu_write_offset;
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 @1371 btcvsd->bt_reg_ctl = btcvsd->bt_pkv_base +
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1372 btcvsd->cvsd_packet_indicator;
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1373
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1374 /* init state */
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1375 mtk_btcvsd_snd_set_state(btcvsd, btcvsd->tx, BT_SCO_STATE_IDLE);
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1376 mtk_btcvsd_snd_set_state(btcvsd, btcvsd->rx, BT_SCO_STATE_IDLE);
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1377
b6052c3c7a78f5 Christophe JAILLET 2021-06-06 1378 ret = devm_snd_soc_register_component(dev, &mtk_btcvsd_snd_platform,
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1379 NULL, 0);
b6052c3c7a78f5 Christophe JAILLET 2021-06-06 1380 if (ret)
b6052c3c7a78f5 Christophe JAILLET 2021-06-06 1381 goto unmap_bank2_err;
b6052c3c7a78f5 Christophe JAILLET 2021-06-06 1382
b6052c3c7a78f5 Christophe JAILLET 2021-06-06 1383 return 0;
b6052c3c7a78f5 Christophe JAILLET 2021-06-06 1384
b6052c3c7a78f5 Christophe JAILLET 2021-06-06 1385 unmap_bank2_err:
b6052c3c7a78f5 Christophe JAILLET 2021-06-06 1386 iounmap(btcvsd->bt_sram_bank2_base);
b6052c3c7a78f5 Christophe JAILLET 2021-06-06 1387 unmap_pkv_err:
b6052c3c7a78f5 Christophe JAILLET 2021-06-06 1388 iounmap(btcvsd->bt_pkv_base);
b6052c3c7a78f5 Christophe JAILLET 2021-06-06 1389 return ret;
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1390 }
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1391
:::::: The code at line 1367 was first introduced by commit
:::::: 4bd8597dc36c376a2bb1ef2c72984615bdeb68de ASoC: mediatek: add btcvsd driver
:::::: TO: KaiChieh Chuang <kaichieh.chuang@mediatek.com>
:::::: CC: Mark Brown <broonie@kernel.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
WARNING: multiple messages have this Message-ID (diff)
From: kernel test robot <lkp@intel.com>
To: Trevor Wu <trevor.wu@mediatek.com>
Cc: kbuild-all@lists.01.org, linux-kernel@vger.kernel.org,
Mark Brown <broonie@kernel.org>
Subject: sound/soc/mediatek/common/mtk-btcvsd.c:1367:30: sparse: sparse: incorrect type in assignment (different address spaces)
Date: Sat, 1 Jan 2022 21:06:28 +0800 [thread overview]
Message-ID: <202201012105.oRHDnK62-lkp@intel.com> (raw)
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 8008293888188c3923f5bd8a69370dae25ed14e5
commit: 6746cc858259985a945a07075a19ec4d24352407 ASoC: mediatek: mt8195: add platform driver
date: 4 months ago
config: alpha-randconfig-s032-20211117 (https://download.01.org/0day-ci/archive/20220101/202201012105.oRHDnK62-lkp@intel.com/config)
compiler: alpha-linux-gcc (GCC) 11.2.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# apt-get install sparse
# sparse version: v0.6.4-dirty
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=6746cc858259985a945a07075a19ec4d24352407
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout 6746cc858259985a945a07075a19ec4d24352407
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=alpha SHELL=/bin/bash drivers/dma/ sound/soc/mediatek/common/
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
sparse warnings: (new ones prefixed by >>)
>> sound/soc/mediatek/common/mtk-btcvsd.c:1367:30: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected unsigned int [usertype] *bt_reg_pkt_r @@ got void [noderef] __iomem * @@
sound/soc/mediatek/common/mtk-btcvsd.c:1367:30: sparse: expected unsigned int [usertype] *bt_reg_pkt_r
sound/soc/mediatek/common/mtk-btcvsd.c:1367:30: sparse: got void [noderef] __iomem *
>> sound/soc/mediatek/common/mtk-btcvsd.c:1369:30: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected unsigned int [usertype] *bt_reg_pkt_w @@ got void [noderef] __iomem * @@
sound/soc/mediatek/common/mtk-btcvsd.c:1369:30: sparse: expected unsigned int [usertype] *bt_reg_pkt_w
sound/soc/mediatek/common/mtk-btcvsd.c:1369:30: sparse: got void [noderef] __iomem *
>> sound/soc/mediatek/common/mtk-btcvsd.c:1371:28: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected unsigned int [usertype] *bt_reg_ctl @@ got void [noderef] __iomem * @@
sound/soc/mediatek/common/mtk-btcvsd.c:1371:28: sparse: expected unsigned int [usertype] *bt_reg_ctl
sound/soc/mediatek/common/mtk-btcvsd.c:1371:28: sparse: got void [noderef] __iomem *
vim +1367 sound/soc/mediatek/common/mtk-btcvsd.c
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1281
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1282 static int mtk_btcvsd_snd_probe(struct platform_device *pdev)
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1283 {
b6052c3c7a78f5 Christophe JAILLET 2021-06-06 1284 int ret;
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1285 int irq_id;
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1286 u32 offset[5] = {0, 0, 0, 0, 0};
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1287 struct mtk_btcvsd_snd *btcvsd;
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1288 struct device *dev = &pdev->dev;
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1289
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1290 /* init btcvsd private data */
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1291 btcvsd = devm_kzalloc(dev, sizeof(*btcvsd), GFP_KERNEL);
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1292 if (!btcvsd)
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1293 return -ENOMEM;
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1294 platform_set_drvdata(pdev, btcvsd);
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1295 btcvsd->dev = dev;
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1296
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1297 /* init tx/rx */
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1298 btcvsd->rx = devm_kzalloc(btcvsd->dev, sizeof(*btcvsd->rx), GFP_KERNEL);
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1299 if (!btcvsd->rx)
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1300 return -ENOMEM;
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1301
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1302 btcvsd->tx = devm_kzalloc(btcvsd->dev, sizeof(*btcvsd->tx), GFP_KERNEL);
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1303 if (!btcvsd->tx)
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1304 return -ENOMEM;
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1305
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1306 spin_lock_init(&btcvsd->tx_lock);
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1307 spin_lock_init(&btcvsd->rx_lock);
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1308
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1309 init_waitqueue_head(&btcvsd->tx_wait);
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1310 init_waitqueue_head(&btcvsd->rx_wait);
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1311
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1312 mtk_btcvsd_snd_tx_init(btcvsd);
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1313 mtk_btcvsd_snd_rx_init(btcvsd);
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1314
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1315 /* irq */
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1316 irq_id = platform_get_irq(pdev, 0);
cf9441adb1a355 Stephen Boyd 2019-07-30 1317 if (irq_id <= 0)
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1318 return irq_id < 0 ? irq_id : -ENXIO;
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1319
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1320 ret = devm_request_irq(dev, irq_id, mtk_btcvsd_snd_irq_handler,
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1321 IRQF_TRIGGER_LOW, "BTCVSD_ISR_Handle",
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1322 (void *)btcvsd);
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1323 if (ret) {
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1324 dev_err(dev, "could not request_irq for BTCVSD_ISR_Handle\n");
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1325 return ret;
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1326 }
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1327
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1328 btcvsd->irq_id = irq_id;
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1329
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1330 /* iomap */
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1331 btcvsd->bt_pkv_base = of_iomap(dev->of_node, 0);
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1332 if (!btcvsd->bt_pkv_base) {
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1333 dev_err(dev, "iomap bt_pkv_base fail\n");
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1334 return -EIO;
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1335 }
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1336
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1337 btcvsd->bt_sram_bank2_base = of_iomap(dev->of_node, 1);
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1338 if (!btcvsd->bt_sram_bank2_base) {
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1339 dev_err(dev, "iomap bt_sram_bank2_base fail\n");
b6052c3c7a78f5 Christophe JAILLET 2021-06-06 1340 ret = -EIO;
b6052c3c7a78f5 Christophe JAILLET 2021-06-06 1341 goto unmap_pkv_err;
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1342 }
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1343
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1344 btcvsd->infra = syscon_regmap_lookup_by_phandle(dev->of_node,
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1345 "mediatek,infracfg");
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1346 if (IS_ERR(btcvsd->infra)) {
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1347 dev_err(dev, "cannot find infra controller: %ld\n",
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1348 PTR_ERR(btcvsd->infra));
b6052c3c7a78f5 Christophe JAILLET 2021-06-06 1349 ret = PTR_ERR(btcvsd->infra);
b6052c3c7a78f5 Christophe JAILLET 2021-06-06 1350 goto unmap_bank2_err;
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1351 }
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1352
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1353 /* get offset */
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1354 ret = of_property_read_u32_array(dev->of_node, "mediatek,offset",
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1355 offset,
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1356 ARRAY_SIZE(offset));
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1357 if (ret) {
766cc4965a3a2a Colin Ian King 2019-02-04 1358 dev_warn(dev, "%s(), get offset fail, ret %d\n", __func__, ret);
b6052c3c7a78f5 Christophe JAILLET 2021-06-06 1359 goto unmap_bank2_err;
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1360 }
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1361 btcvsd->infra_misc_offset = offset[0];
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1362 btcvsd->conn_bt_cvsd_mask = offset[1];
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1363 btcvsd->cvsd_mcu_read_offset = offset[2];
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1364 btcvsd->cvsd_mcu_write_offset = offset[3];
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1365 btcvsd->cvsd_packet_indicator = offset[4];
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1366
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 @1367 btcvsd->bt_reg_pkt_r = btcvsd->bt_pkv_base +
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1368 btcvsd->cvsd_mcu_read_offset;
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 @1369 btcvsd->bt_reg_pkt_w = btcvsd->bt_pkv_base +
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1370 btcvsd->cvsd_mcu_write_offset;
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 @1371 btcvsd->bt_reg_ctl = btcvsd->bt_pkv_base +
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1372 btcvsd->cvsd_packet_indicator;
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1373
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1374 /* init state */
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1375 mtk_btcvsd_snd_set_state(btcvsd, btcvsd->tx, BT_SCO_STATE_IDLE);
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1376 mtk_btcvsd_snd_set_state(btcvsd, btcvsd->rx, BT_SCO_STATE_IDLE);
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1377
b6052c3c7a78f5 Christophe JAILLET 2021-06-06 1378 ret = devm_snd_soc_register_component(dev, &mtk_btcvsd_snd_platform,
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1379 NULL, 0);
b6052c3c7a78f5 Christophe JAILLET 2021-06-06 1380 if (ret)
b6052c3c7a78f5 Christophe JAILLET 2021-06-06 1381 goto unmap_bank2_err;
b6052c3c7a78f5 Christophe JAILLET 2021-06-06 1382
b6052c3c7a78f5 Christophe JAILLET 2021-06-06 1383 return 0;
b6052c3c7a78f5 Christophe JAILLET 2021-06-06 1384
b6052c3c7a78f5 Christophe JAILLET 2021-06-06 1385 unmap_bank2_err:
b6052c3c7a78f5 Christophe JAILLET 2021-06-06 1386 iounmap(btcvsd->bt_sram_bank2_base);
b6052c3c7a78f5 Christophe JAILLET 2021-06-06 1387 unmap_pkv_err:
b6052c3c7a78f5 Christophe JAILLET 2021-06-06 1388 iounmap(btcvsd->bt_pkv_base);
b6052c3c7a78f5 Christophe JAILLET 2021-06-06 1389 return ret;
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1390 }
4bd8597dc36c37 KaiChieh Chuang 2019-01-30 1391
:::::: The code at line 1367 was first introduced by commit
:::::: 4bd8597dc36c376a2bb1ef2c72984615bdeb68de ASoC: mediatek: add btcvsd driver
:::::: TO: KaiChieh Chuang <kaichieh.chuang@mediatek.com>
:::::: CC: Mark Brown <broonie@kernel.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
next reply other threads:[~2022-01-01 13:06 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-01-01 13:06 kernel test robot [this message]
2022-01-01 13:06 ` sound/soc/mediatek/common/mtk-btcvsd.c:1367:30: sparse: sparse: incorrect type in assignment (different address spaces) kernel test robot
-- strict thread matches above, loose matches on Subject: below --
2021-11-25 14:34 kernel test robot
2021-11-25 14:34 ` kernel test robot
2021-11-24 2:17 kernel test robot
2021-11-24 2:17 ` 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=202201012105.oRHDnK62-lkp@intel.com \
--to=lkp@intel.com \
--cc=kbuild-all@lists.01.org \
/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.