* drivers/gpib/fmh_gpib/fmh_gpib.c:1476 fmh_gpib_attach_impl() warn: 'e_priv->fifo_base' from ioremap() not released on lines: 1451,1457,1465.
@ 2026-03-26 21:53 kernel test robot
0 siblings, 0 replies; 2+ messages in thread
From: kernel test robot @ 2026-03-26 21:53 UTC (permalink / raw)
To: oe-kbuild; +Cc: lkp, Dan Carpenter
BCC: lkp@intel.com
CC: oe-kbuild-all@lists.linux.dev
CC: linux-kernel@vger.kernel.org
TO: Dave Penkler <dpenkler@gmail.com>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 46b513250491a7bfc97d98791dbe6a10bcc8129d
commit: e6ab504633e4c06e35377ecf3c8cbc304de79858 staging: gpib: Destage gpib
date: 4 months ago
:::::: branch date: 42 minutes ago
:::::: commit date: 4 months ago
config: alpha-randconfig-r071-20260327 (https://download.01.org/0day-ci/archive/20260327/202603270519.dmcjTDy4-lkp@intel.com/config)
compiler: alpha-linux-gcc (GCC) 12.5.0
smatch: v0.5.0-9004-gb810ac53
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 <error27@gmail.com>
| Closes: https://lore.kernel.org/r/202603270519.dmcjTDy4-lkp@intel.com/
New smatch warnings:
drivers/gpib/fmh_gpib/fmh_gpib.c:1476 fmh_gpib_attach_impl() warn: 'e_priv->fifo_base' from ioremap() not released on lines: 1451,1457,1465.
drivers/gpib/fmh_gpib/fmh_gpib.c:1476 fmh_gpib_attach_impl() warn: 'irq' from request_irq() not released on lines: 1465.
drivers/gpib/fmh_gpib/fmh_gpib.c:1476 fmh_gpib_attach_impl() warn: 'nec_priv->mmiobase' from ioremap() not released on lines: 1430,1436,1451,1457,1465.
drivers/gpib/fmh_gpib/fmh_gpib.c:1476 fmh_gpib_attach_impl() warn: 'res->start' from __request_region() not released on lines: 1430,1436,1451,1457,1465.
Old smatch warnings:
internal error: arch/alpha/include/asm/io_trivial.h:70 SQL error #2: near "and": syntax error
internal error: arch/alpha/include/asm/io_trivial.h:70 SQL: 'select * from return_states where and type = 1044 and parameter = -1 and key = '$' limit 1;'
drivers/gpib/fmh_gpib/fmh_gpib.c:1476 fmh_gpib_attach_impl() warn: 'res->start' from __request_region() not released on lines: 1451,1457,1465.
vim +1476 drivers/gpib/fmh_gpib/fmh_gpib.c
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1376
c3c7a472d6f72b drivers/staging/gpib/fmh_gpib/fmh_gpib.c Michael Rubin 2025-04-08 1377 static int fmh_gpib_attach_impl(struct gpib_board *board, const struct gpib_board_config *config,
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1378 unsigned int handshake_mode, int acquire_dma)
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1379 {
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1380 struct fmh_priv *e_priv;
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1381 struct nec7210_priv *nec_priv;
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1382 int retval;
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1383 int irq;
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1384 struct resource *res;
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1385 struct platform_device *pdev;
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1386
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1387 board->dev = driver_find_device(&fmh_gpib_platform_driver.driver,
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1388 NULL, (const void *)config, &fmh_gpib_device_match);
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1389 if (!board->dev) {
acdf4581545b83 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2025-02-14 1390 dev_err(board->gpib_dev, "No matching fmh_gpib_core device was found, attach failed.");
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1391 return -ENODEV;
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1392 }
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1393 // currently only used to mark the device as already attached
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1394 dev_set_drvdata(board->dev, board);
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1395 pdev = to_platform_device(board->dev);
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1396
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1397 retval = fmh_gpib_generic_attach(board);
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1398 if (retval)
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1399 return retval;
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1400
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1401 e_priv = board->private_data;
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1402 nec_priv = &e_priv->nec7210_priv;
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1403
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1404 res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "gpib_control_status");
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1405 if (!res) {
acdf4581545b83 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2025-02-14 1406 dev_err(board->dev, "Unable to locate mmio resource\n");
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1407 return -ENODEV;
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1408 }
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1409
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1410 if (request_mem_region(res->start,
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1411 resource_size(res),
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1412 pdev->name) == NULL) {
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1413 dev_err(board->dev, "cannot claim registers\n");
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1414 return -ENXIO;
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1415 }
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1416 e_priv->gpib_iomem_res = res;
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1417
baf8855c916007 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Arnd Bergmann 2024-12-13 1418 nec_priv->mmiobase = ioremap(e_priv->gpib_iomem_res->start,
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1419 resource_size(e_priv->gpib_iomem_res));
baf8855c916007 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Arnd Bergmann 2024-12-13 1420 if (!nec_priv->mmiobase) {
acdf4581545b83 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2025-02-14 1421 dev_err(board->dev, "Could not map I/O memory\n");
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1422 return -ENOMEM;
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1423 }
acdf4581545b83 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2025-02-14 1424 dev_dbg(board->dev, "iobase %pr remapped to %p\n",
baf8855c916007 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Arnd Bergmann 2024-12-13 1425 e_priv->gpib_iomem_res, nec_priv->mmiobase);
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1426
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1427 res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "dma_fifos");
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1428 if (!res) {
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1429 dev_err(board->dev, "Unable to locate mmio resource for gpib dma port\n");
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1430 return -ENODEV;
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1431 }
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1432 if (request_mem_region(res->start,
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1433 resource_size(res),
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1434 pdev->name) == NULL) {
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1435 dev_err(board->dev, "cannot claim registers\n");
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1436 return -ENXIO;
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1437 }
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1438 e_priv->dma_port_res = res;
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1439 e_priv->fifo_base = ioremap(e_priv->dma_port_res->start,
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1440 resource_size(e_priv->dma_port_res));
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1441 if (!e_priv->fifo_base) {
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1442 dev_err(board->dev, "Could not map I/O memory for fifos\n");
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1443 return -ENOMEM;
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1444 }
acdf4581545b83 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2025-02-14 1445 dev_dbg(board->dev, "dma fifos 0x%lx remapped to %p, length=%ld\n",
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1446 (unsigned long)e_priv->dma_port_res->start, e_priv->fifo_base,
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1447 (unsigned long)resource_size(e_priv->dma_port_res));
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1448
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1449 irq = platform_get_irq(pdev, 0);
1269b01cdf3fd3 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Chen Ni 2025-04-07 1450 if (irq < 0)
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1451 return -EBUSY;
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1452 retval = request_irq(irq, fmh_gpib_interrupt, IRQF_SHARED, pdev->name, board);
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1453 if (retval) {
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1454 dev_err(board->dev,
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1455 "cannot register interrupt handler err=%d\n",
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1456 retval);
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1457 return retval;
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1458 }
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1459 e_priv->irq = irq;
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1460
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1461 if (acquire_dma) {
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1462 e_priv->dma_channel = dma_request_slave_channel(board->dev, "rxtx");
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1463 if (!e_priv->dma_channel) {
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1464 dev_err(board->dev, "failed to acquire dma channel \"rxtx\".\n");
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1465 return -EIO;
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1466 }
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1467 }
6008c89dbdfc86 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Paul Retourné 2025-04-11 1468 /*
6008c89dbdfc86 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Paul Retourné 2025-04-11 1469 * in the future we might want to know the half-fifo size
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1470 * (dma_burst_length) even when not using dma, so go ahead an
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1471 * initialize it unconditionally.
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1472 */
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1473 e_priv->dma_burst_length = fifos_read(e_priv, FIFO_MAX_BURST_LENGTH_REG) &
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1474 fifo_max_burst_length_mask;
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1475
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 @1476 return fmh_gpib_init(e_priv, board, handshake_mode);
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1477 }
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1478
:::::: The code at line 1476 was first introduced by commit
:::::: 8e4841a0888c74bdcb6ba115d6405206f0c2e8b4 staging: gpib: Add Frank Mori Hess FPGA PCI GPIB driver
:::::: TO: Dave Penkler <dpenkler@gmail.com>
:::::: CC: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 2+ messages in thread
* drivers/gpib/fmh_gpib/fmh_gpib.c:1476 fmh_gpib_attach_impl() warn: 'e_priv->fifo_base' from ioremap() not released on lines: 1451,1457,1465.
@ 2026-07-10 13:33 kernel test robot
0 siblings, 0 replies; 2+ messages in thread
From: kernel test robot @ 2026-07-10 13:33 UTC (permalink / raw)
To: oe-kbuild; +Cc: lkp, Dan Carpenter
BCC: lkp@intel.com
CC: oe-kbuild-all@lists.linux.dev
CC: linux-kernel@vger.kernel.org
TO: Dave Penkler <dpenkler@gmail.com>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: a635d6748234582ea287c5ffeae28b9b23f91c7e
commit: e6ab504633e4c06e35377ecf3c8cbc304de79858 staging: gpib: Destage gpib
date: 8 months ago
:::::: branch date: 14 hours ago
:::::: commit date: 8 months ago
config: alpha-randconfig-r071-20260710 (https://download.01.org/0day-ci/archive/20260710/202607102136.8Zg3WLfZ-lkp@intel.com/config)
compiler: alpha-linux-gcc (GCC) 8.5.0
smatch: v0.5.0-9185-gbcc58b9c
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
| Fixes: e6ab504633e4 ("staging: gpib: Destage gpib")
| Reported-by: kernel test robot <lkp@intel.com>
| Reported-by: Dan Carpenter <error27@gmail.com>
| Closes: https://lore.kernel.org/r/202607102136.8Zg3WLfZ-lkp@intel.com/
New smatch warnings:
drivers/gpib/fmh_gpib/fmh_gpib.c:1476 fmh_gpib_attach_impl() warn: 'e_priv->fifo_base' from ioremap() not released on lines: 1451,1457,1465.
drivers/gpib/fmh_gpib/fmh_gpib.c:1476 fmh_gpib_attach_impl() warn: 'irq' from request_irq() not released on lines: 1465.
drivers/gpib/fmh_gpib/fmh_gpib.c:1476 fmh_gpib_attach_impl() warn: 'nec_priv->mmiobase' from ioremap() not released on lines: 1430,1436,1451,1457,1465.
drivers/gpib/fmh_gpib/fmh_gpib.c:1476 fmh_gpib_attach_impl() warn: 'res->start' from __request_region() not released on lines: 1430,1436,1451,1457,1465.
Old smatch warnings:
internal error: arch/alpha/include/asm/io_trivial.h:70 SQL error #2: near "and": syntax error
internal error: arch/alpha/include/asm/io_trivial.h:70 SQL: 'select * from return_states where and type = 1044 and parameter = -1 and key = '$' limit 1;'
drivers/gpib/fmh_gpib/fmh_gpib.c:1476 fmh_gpib_attach_impl() warn: 'res->start' from __request_region() not released on lines: 1451,1457,1465.
vim +1476 drivers/gpib/fmh_gpib/fmh_gpib.c
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1376
c3c7a472d6f72b drivers/staging/gpib/fmh_gpib/fmh_gpib.c Michael Rubin 2025-04-08 1377 static int fmh_gpib_attach_impl(struct gpib_board *board, const struct gpib_board_config *config,
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1378 unsigned int handshake_mode, int acquire_dma)
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1379 {
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1380 struct fmh_priv *e_priv;
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1381 struct nec7210_priv *nec_priv;
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1382 int retval;
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1383 int irq;
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1384 struct resource *res;
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1385 struct platform_device *pdev;
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1386
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1387 board->dev = driver_find_device(&fmh_gpib_platform_driver.driver,
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1388 NULL, (const void *)config, &fmh_gpib_device_match);
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1389 if (!board->dev) {
acdf4581545b83 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2025-02-14 1390 dev_err(board->gpib_dev, "No matching fmh_gpib_core device was found, attach failed.");
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1391 return -ENODEV;
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1392 }
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1393 // currently only used to mark the device as already attached
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1394 dev_set_drvdata(board->dev, board);
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1395 pdev = to_platform_device(board->dev);
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1396
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1397 retval = fmh_gpib_generic_attach(board);
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1398 if (retval)
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1399 return retval;
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1400
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1401 e_priv = board->private_data;
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1402 nec_priv = &e_priv->nec7210_priv;
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1403
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1404 res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "gpib_control_status");
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1405 if (!res) {
acdf4581545b83 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2025-02-14 1406 dev_err(board->dev, "Unable to locate mmio resource\n");
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1407 return -ENODEV;
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1408 }
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1409
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1410 if (request_mem_region(res->start,
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1411 resource_size(res),
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1412 pdev->name) == NULL) {
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1413 dev_err(board->dev, "cannot claim registers\n");
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1414 return -ENXIO;
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1415 }
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1416 e_priv->gpib_iomem_res = res;
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1417
baf8855c916007 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Arnd Bergmann 2024-12-13 1418 nec_priv->mmiobase = ioremap(e_priv->gpib_iomem_res->start,
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1419 resource_size(e_priv->gpib_iomem_res));
baf8855c916007 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Arnd Bergmann 2024-12-13 1420 if (!nec_priv->mmiobase) {
acdf4581545b83 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2025-02-14 1421 dev_err(board->dev, "Could not map I/O memory\n");
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1422 return -ENOMEM;
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1423 }
acdf4581545b83 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2025-02-14 1424 dev_dbg(board->dev, "iobase %pr remapped to %p\n",
baf8855c916007 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Arnd Bergmann 2024-12-13 1425 e_priv->gpib_iomem_res, nec_priv->mmiobase);
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1426
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1427 res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "dma_fifos");
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1428 if (!res) {
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1429 dev_err(board->dev, "Unable to locate mmio resource for gpib dma port\n");
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1430 return -ENODEV;
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1431 }
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1432 if (request_mem_region(res->start,
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1433 resource_size(res),
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1434 pdev->name) == NULL) {
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1435 dev_err(board->dev, "cannot claim registers\n");
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1436 return -ENXIO;
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1437 }
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1438 e_priv->dma_port_res = res;
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1439 e_priv->fifo_base = ioremap(e_priv->dma_port_res->start,
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1440 resource_size(e_priv->dma_port_res));
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1441 if (!e_priv->fifo_base) {
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1442 dev_err(board->dev, "Could not map I/O memory for fifos\n");
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1443 return -ENOMEM;
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1444 }
acdf4581545b83 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2025-02-14 1445 dev_dbg(board->dev, "dma fifos 0x%lx remapped to %p, length=%ld\n",
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1446 (unsigned long)e_priv->dma_port_res->start, e_priv->fifo_base,
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1447 (unsigned long)resource_size(e_priv->dma_port_res));
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1448
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1449 irq = platform_get_irq(pdev, 0);
1269b01cdf3fd3 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Chen Ni 2025-04-07 1450 if (irq < 0)
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1451 return -EBUSY;
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1452 retval = request_irq(irq, fmh_gpib_interrupt, IRQF_SHARED, pdev->name, board);
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1453 if (retval) {
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1454 dev_err(board->dev,
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1455 "cannot register interrupt handler err=%d\n",
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1456 retval);
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1457 return retval;
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1458 }
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1459 e_priv->irq = irq;
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1460
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1461 if (acquire_dma) {
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1462 e_priv->dma_channel = dma_request_slave_channel(board->dev, "rxtx");
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1463 if (!e_priv->dma_channel) {
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1464 dev_err(board->dev, "failed to acquire dma channel \"rxtx\".\n");
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1465 return -EIO;
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1466 }
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1467 }
6008c89dbdfc86 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Paul Retourné 2025-04-11 1468 /*
6008c89dbdfc86 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Paul Retourné 2025-04-11 1469 * in the future we might want to know the half-fifo size
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1470 * (dma_burst_length) even when not using dma, so go ahead an
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1471 * initialize it unconditionally.
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1472 */
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1473 e_priv->dma_burst_length = fifos_read(e_priv, FIFO_MAX_BURST_LENGTH_REG) &
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1474 fifo_max_burst_length_mask;
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1475
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 @1476 return fmh_gpib_init(e_priv, board, handshake_mode);
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1477 }
8e4841a0888c74 drivers/staging/gpib/fmh_gpib/fmh_gpib.c Dave Penkler 2024-09-18 1478
:::::: The code at line 1476 was first introduced by commit
:::::: 8e4841a0888c74bdcb6ba115d6405206f0c2e8b4 staging: gpib: Add Frank Mori Hess FPGA PCI GPIB driver
:::::: TO: Dave Penkler <dpenkler@gmail.com>
:::::: CC: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2026-07-10 13:34 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-07-10 13:33 drivers/gpib/fmh_gpib/fmh_gpib.c:1476 fmh_gpib_attach_impl() warn: 'e_priv->fifo_base' from ioremap() not released on lines: 1451,1457,1465 kernel test robot
-- strict thread matches above, loose matches on Subject: below --
2026-03-26 21:53 kernel test robot
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.